我有 ViewController 其中是 WebView (在里面加载网站),我想在开始加载时显示 UIActivityIndicator 留在导航控制器中,加载完成后将其删除。
我有带有嵌入导航控制器的 ViewController,我尝试过放置 IB UIIndicator 但没有成功,它被放入内容部分,所以请告诉我如何以编程方式将指示器放在导航栏左侧。
感谢帮助
我有 ViewController 其中是 WebView (在里面加载网站),我想在开始加载时显示 UIActivityIndicator 留在导航控制器中,加载完成后将其删除。
我有带有嵌入导航控制器的 ViewController,我尝试过放置 IB UIIndicator 但没有成功,它被放入内容部分,所以请告诉我如何以编程方式将指示器放在导航栏左侧。
感谢帮助
不幸的是,您将无法仅使用情节提要在导航栏中放置活动指示器。
为活动指示器创建一个实例变量:
@implementation
{
UIActivityIndicatorView *activityIndicator;
}
...
在您的viewDidLoad
方法中,实例化它并将其添加到导航栏:
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
该属性hidesWhenStopped
是YES
默认的,所以当它不自动动画时它会隐藏。您所要做的就是分别调用startAnimating
和stopAnimating
何时显示或隐藏它。
尝试这个:
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
self.navigationController.navigationItem.leftBarButtonItem = button;