嘿,在上一个问题的帮助下,我想我几乎可以解决这个问题。
下面的代码
-(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
设置框架,以便您确切知道它应该出现的位置
从UIViewAutoResizingFlexibleWidth
的UIViewAutoResizingFlexibleHeight
中删除autoResizingMask
和activityIndicatorView
选项。您不希望activityIndicatorView
根据其超级视图更改大小。
您正在使用白色活动指示器。确保在给定的表格视图和单元格中显示颜色。除非您有深色的表格,否则我会发现灰色的活动指示器更加明显。
至少在确保可以看到activityIndicatorView
之前,不要使用计时器来停止动画。这是一个怪异的UX IMHO。通常,您应该根据您希望用户了解的应用程序中的过程来启动/停止活动指示器
同样,设置hidesWhenStopped = NO
直到确保可以看到activityIndicatorView
。
当您看到activityIndicatorView
并且所有内容看起来都令人满意时,您可以将所需的行为添加回去。