当前位置:  开发笔记 > 编程语言 > 正文

iPhone - initWithFrame不适用于UIActivityIndi​​catorView?

如何解决《iPhone-initWithFrame不适用于UIActivityIndi​​catorView?》经验,为你挑选了2个好方法。

我正在使用带有自定义单元格的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



1> Ed Marty..:

initWithFrame:不是建议的创建方法UIActivityInidcator.看一下API,你可以看到要创建一个UIActivityIndicator,你应该使用

[[UIActivityIndicator alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

然后将其添加到您的视图中并setCenter:按照Pablo的建议设置其位置.

此外,如果用户向上或向下滚动,将其添加到表视图中的某个位置将使其与表一起滚动.如果你把它放在表的超级视图中,它将保持原位.



2> Pablo Santa ..:

试试这个:

    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应该提供您期望的行为.

祝好运!

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有