我有ViewController,其中是WebView(在里面加载网站),我希望在开始加载时在导航控制器中显示UIActivityIndicator,并在加载完成后将其删除。
我有嵌入式导航控制器的ViewController,我试图放弃IB UIIndicator但是没有成功,它放在内容部分,所以请告诉我如何以编程方式将指示器放在导航栏的左侧。
感谢您的帮助
答案 0 :(得分:3)
不幸的是,您无法仅使用故事板将活动指示器放在导航栏中。
为活动指示器创建一个实例变量:
@implementation
{
UIActivityIndicatorView *activityIndicator;
}
...
在viewDidLoad
方法中,实例化它并将其添加到导航栏:
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
默认情况下,属性hidesWhenStopped
为YES
,因此在未自动动画时会隐藏它。您需要做的就是分别在startAnimating
和stopAnimating
打电话时,可以打电话给{{1}}和{{1}}。
答案 1 :(得分:0)
试试这个:
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
self.navigationController.navigationItem.leftBarButtonItem = button;