1

我有 ViewController 其中是 WebView (在里面加载网站),我想在开始加载时显示 UIActivityIndi​​cator 留在导航控制器中,加载完成后将其删除。

我有带有嵌入导航控制器的 ViewController,我尝试过放置 IB UIIndicator 但没有成功,它被放入内容部分,所以请告诉我如何以编程方式将指示器放在导航栏左侧。

感谢帮助

4

2 回答 2

3

不幸的是,您将无法仅使用情节提要在导航栏中放置活动指示器。

为活动指示器创建一个实例变量:

@implementation
{
    UIActivityIndicatorView *activityIndicator;
}
...

在您的viewDidLoad方法中,实例化它并将其添加到导航栏:

activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];

该属性hidesWhenStoppedYES默认的,所以当它不自动动画时它会隐藏。您所要做的就是分别调用startAnimatingstopAnimating何时显示或隐藏它。

于 2012-05-07T01:32:06.967 回答
0

尝试这个:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
self.navigationController.navigationItem.leftBarButtonItem = button;
于 2012-05-06T23:34:03.733 回答