我正在使用自定义单元格的tableview,并希望在按钮单击时更改tableview的内容。我正在使用活动指示符,而单元格正在加载数据。
这就是我创建指标视图的方式
indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(141.0, 190.0, 37.0, 37.0)];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
indicator.hidesWhenStopped = YES;
[[self tableView] addSubview:indicator];
但似乎框架对指标没有影响。指示符不是显示在表格的中心,而是显示在视图左上角的导航栏中。
我不知道这有什么问题以及为什么会这样。有人可以帮帮我吗。 alt text http://www.freeimagehosting.net/uploads/95cbe49850.png
答案 0 :(得分:8)
initWithFrame:
不是创建UIActivityInidcator
的建议方法。看一下API,您可以看到要创建UIActivityIndicator
,您应该使用
[[UIActivityIndicator alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
然后将其添加到您的视图中,并按照Pablo的建议使用setCenter:
设置其位置。
此外,如果用户向上或向下滚动,将其添加到表格视图中的某个位置将使其与表格一起滚动。如果你将它放在表格的超级视图中,它将保留在原位。
答案 1 :(得分:6)
试试这个:
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];
[activityIndicator setCenter:CGPointMake(160.0f, 208.0f)];
[activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[activityIndicator startAnimating];
调用 setCenter 应该提供您期望的行为。
祝你好运!