嘿,在上一个问题的帮助下,我想我几乎可以解决这个问题。
下面的代码

-(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];

}


但是什么也没出现。代码不会产生任何错误。

最佳答案

一些尝试:


目前尚不清楚您的tableView是否正在显示和/或填充数据。如果对表是否存在疑问,请为tableView设置非白色背景色。如果看不到tableView,请先解决此问题,或者将activityIndicatorView添加为您知道可以看到的其他视图的子视图。
activityIndicatorView设置框架,以便您确切知道它应该出现的位置
UIViewAutoResizingFlexibleWidthUIViewAutoResizingFlexibleHeight中删除​​autoResizingMaskactivityIndicatorView选项。您不希望activityIndicatorView根据其超级视图更改大小。
您正在使用白色活动指示器。确保在给定的表格视图和单元格中显示颜色。除非您有深色的表格,否则我会发现灰色的活动指示器更加明显。
至少在确保可以看到activityIndicatorView之前,不要使用计时器来停止动画。这是一个怪异的UX IMHO。通常,您应该根据您希望用户了解的应用程序中的过程来启动/停止活动指示器
同样,设置hidesWhenStopped = NO直到确保可以看到activityIndicatorView


当您看到activityIndicatorView并且所有内容看起来都令人满意时,您可以将所需的行为添加回去。

08-04 03:25