Iphone 活动指示器未显示

Iphone 活动指示器未显示,iphone,ios,uitableview,uiactivityindicatorview,Iphone,Ios,Uitableview,Uiactivityindicatorview,嘿,伙计们,在前一个问题的帮助下,我想我已经几乎成功了。。 代码如下 -(void)viewDidLoad { [super viewDidLoad]; //... all your previous charge. UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyl

嘿,伙计们,在前一个问题的帮助下,我想我已经几乎成功了。。 代码如下

-(void)viewDidLoad
{
    [super viewDidLoad];

    //... all your previous charge.

    UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

    activity.hidesWhenStopped = YES;

    activity.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin |
        UIViewAutoresizingFlexibleHeight |
        UIViewAutoresizingFlexibleLeftMargin |
        UIViewAutoresizingFlexibleRightMargin |
        UIViewAutoresizingFlexibleTopMargin |
        UIViewAutoresizingFlexibleWidth;

    [self.tableview addSubview:activity];

    [activity startAnimating];

    [activity performSelector:@selector(stopAnimating) withObject:nil afterDelay:0.5];

}

但是什么也没有出现。。代码没有生成任何错误。。因此,如果我遗漏了一些内容,就将其删除。

您已将其设置为在动画停止时隐藏,并且“执行选择器”在动画开始0.5秒后停止动画。此外,这一切都是在view-did-load方法中完成的。无法保证加载视图后视图立即可见。因此,动画可能在视图显示之前开始和停止

尝试将执行选择器置于ViewDidAspect方法中,并至少在开始时将延迟设置为更长的时间。一旦你知道时间是可见的,你就可以随时更改时间

祝你好运

有几件事可以尝试:

  • 不清楚您的
    tableView
    是否正在显示和/或填充数据。如果对表格是否存在有任何疑问,请为
    表格视图设置非白色背景色。如果您没有看到
    表视图
    ,请首先修复该问题,或者将
    活动指示灯视图
    添加为您知道可以看到的其他视图的子视图

  • 活动指示灯视图设置一个框架,这样您就可以确切地知道它应该出现在哪里

  • activityIndicatorView
    AutoresizingFlexibleWidth
    中删除
    UIViewAutoResizingFlexibleWidth
    UIViewAutoResizingFlexibleHight
    选项。您不希望activityIndicatorView根据其superview更改大小

  • 您正在使用白色活动指示器。确保它将显示在给定颜色的tableview和单元格中。除非你有一张深色的桌子,否则我发现灰色的活动指示器更容易看到

  • 取消计时器以停止动画,至少在确保可以看到
    activityIndicatorView
    之前。这是一个wierd-UX-IMHO。通常,您应该根据希望用户了解的应用程序中的流程启动/停止活动指示器

  • 同样,设置
    hidesWhenStopped=NO
    ,直到确保可以看到
    活动指示灯视图


当您可以看到
活动指示器视图
并且一切看起来都令人满意时,您可以添加您想要的行为。

可能是tableview单元格位于指示器视图上方。您可以将活动指示器放在
tableview.tableHeaderView
tableView.tableFooterView



使用
[self.view addSubview:activity]
将指示器添加到父视图而不是表视图。
希望这能起作用。

您尚未为“活动”视图设置框架。你可能想,这样你就可以控制它的大小和位置。啊。。我现在就要读一读。。我第一次有一个活动指示器:P在查看示例,但从来都不确定它们是否与我的问题有关。您将UIActivityIndicatorView直接添加到UITableView中,结果它可能位于任何表视图单元格后面(因此不可见)。是的,我想知道是否是这样。。所以听起来帧是关键。我把计时器设置为一点20秒,但不幸的是,这并没有起作用。那么让人沮丧的Lol但是你把performSelector方法放在ViewDidAspect方法中了吗?没有,我把它放在ViewDidLoad中了,它似乎不起作用。好的,酷。我现在要检查一下这些东西。我会告诉你我怎么做的好的我已经完成了你要求的一切。。但它不起作用。但是我想我可能知道为什么。。但不是如何解决。因为我的应用程序是基于导航的应用程序,我将视图加载到我在appdelegate中设置的navigationcontroller中。我不知道怎么解决这个问题。我感觉你还有其他问题。您需要发布更多的代码来显示如何初始化和显示根视图控制器。同时解释正在发生的事情(例如,您认为您的导航控制器及其根视图控制器是否正在加载和显示)?我将尽力解释这一点。在我的appdelegates.nib中,我有一个UIView,其中包含navigationcontroller视图。。我将所有的TableView加载到等中。我猜这就是问题所在,但我不知道如何解决它\n我确信问题很简单,但没有更多相关代码,我不知道如何帮助。谢谢您的帮助,但这不起作用。我想也许我做错了什么。