【问题标题】:Activity Indicator while loading UIView加载 UIView 时的活动指示器
【发布时间】:2013-09-04 23:42:31
【问题描述】:

我的应用中有第二个视图,加载大约需要 2-3 秒。如何在视图加载时创建活动指示器?

我知道我可以这样做:

UIActivityIndicatorView *activityView=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    activityView.center=self.view.center;

    [activityView startAnimating];

    [self.view addSubview:activityView];

但是我如何告诉我的应用在切换到另一个视图时只加载活动视图?

【问题讨论】:

  • 您要切换到另一个视图控制器吗?
  • 您究竟是如何加载您的第二个视图?您在哪个视图中添加活动指示器?
  • 是的,我正在切换到另一个带有 UIButton 的视图控制器。活动指示器在 view1 中。
  • 如何更改视图? IBA动作?或者是直接链接到按钮的segue。
  • 我正在用segue改变视图。

标签: ios objective-c uiactivityindicatorview


【解决方案1】:

您可以在 ViewWillAppear 中添加此指示器,并且每次您的视图出现时,如果需要 2-3 秒,它必须显示指示器。

【讨论】:

    【解决方案2】:

    使用界面生成器并在您的 SECOND VIEW 上创建一个新的活动指示器。

        - (void) viewDidLoad
    {
    
     [activityView startAnimating]; /// start animating
    
     [self performSelector:@selector(stopActivityLoad) withObject:self afterDelay:0.8]; /// stop animating after 0.8
    
    }
    
    - (void) stopActivityLoad
    {
    
    [activityView stopAnimating]; /// stop animating.
    
    }
    

    【讨论】:

    • 那么,如果我在第二个视图中创建活动指示器,是否需要将 UIActivityIndi​​catorView 拖到我的第二个视图中?我确实想在第一个视图中显示它...
    • 您想在按下调用第二个视图的按钮后准确地显示在第一个视图上?如果是这样,那么您在第一个视图上添加 if,在第一个视图顶部拖动并隐藏 if,然后在您的按钮上添加启动和停止动画的代码。然后调用该方法向您展示 stopActivityLoad 方法的第二个视图。
    • 好的,谢谢。但是如何将代码添加到我的按钮?我的按钮没有代码,因为我使用情节提要将按钮连接到我的第二个视图。有没有办法做到这一点?
    • 是的。只需右键单击您的按钮并选择 Touch Up Inside 并为其创建一个新方法/操作。您将在 .m 文件中找到它,您必须在其中添加用于启动动画和停止动画的代码。当动画停止时,调用第二个视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多