如何在导航栏中设置活动指示器?
我是新iphone development.I要设置在导航的活动的指标bar.I看到下面的导航bar.My代码我的活动指示灯在这里如何在导航栏中设置活动指示器?
-(IBAction) gomethod : (id) sender
{
xxMapSubviewcontroller = [[XxMapSubviewcontroller alloc] init];
[self.navigationController pushViewController:xxMapSubviewcontroller animated:YES];
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activityIndicator.frame = CGRectMake(0.0, 0.0, 20.0, 20.0);
[activityIndicator startAnimating];
[xxMapSubviewcontroller.view addSubview:activityIndicator];
}
如何设置我的活动指示灯导航栏?请帮助我。谢谢。
我添加了下面的代码在我想要在导航栏中的活动指示灯的看法。
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
[self navigationItem].rightBarButtonItem = barButton;
[activityIndicator startAnimating];
您正在此处创建一个新的活动指示器视图,这很好,但您并不是指状态栏中的活动指示器。
要显示在状态栏的活动的指标,简单地称之为:
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
我想显示在导航栏中 – Warrior 2010-02-18 15:26:38
活动指示灯我需要战士的解决方案,因为我我隐藏了状态栏。当然不是说你的解决方案有什么问题! – 2015-01-31 00:21:41
我有一个类似的问题与应对这里: iphone - programatically change navigation bar button to activity indicator
我想改变在导航栏的活动的指标,然后再返回刷新按钮。
试试。 self.navigationItem.leftBarButtonItem.customView =您的视图
我现在试着使用它,而战士提到的代码并不完全按照原样工作。我必须更改activityIndicator的初始化:
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
通过此更改,它应该按预期工作。
谢谢!我的指标现在正在工作。
我正在与老友分享一个代码示例,把它放在上下文中。
- (无效)viewDidLoad中
// custom button images
UIImage *customImage = [UIImage imageNamed:@"menu24"];
UIImage *customImage2 = [UIImage imageNamed:@"search24"];
UIImage *customImage3 = [UIImage imageNamed:@"back24"];
// These are linked in my story board to Navigation Item
[self customiseBarBtnItem:[self menu_button]
customImage:customImage selector:@selector(menuPressed:)];
[self customiseBarBtnItem:[self search_button]
customImage:customImage2 selector:@selector(searchPressed:)];
[self customiseBarBtnItem:[self backButton]
customImage:customImage3 selector:@selector(backPressed:)];
//initialize the activity indicator - as @antf comment suggests for ios7
UIActivityIndicatorView *actInd=[[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
//store it as a property on the view controller
self.activityIndicator = actInd;
// this sets up activity indicator
UIBarButtonItem *progress_indicator = [[UIBarButtonItem alloc]
initWithCustomView:[self activityIndicator]];
// link custom buttons AND activity indicator in desired order to navigation bar
self.navigationItem.rightBarButtonItems =
[NSArray arrayWithObjects:
self.menu_button,
self.search_button,
progress_indicator,
nil];
//为了完整 - 这是我如何编程显示/隐藏我的后退按钮
if (bShowBack == YES)
self.navItemBar.leftBarButtonItem = self.backButton;
else
self.navItemBar.leftBarButtonItem = Nil;
//我用我的活动用UIWebView指示器如此触发它如下触发它如下
- (void)webViewDidStartLoad:(UIWebView *)webView
{
[[self activityIndicator] startAnimating];
}
- (void)didFailLoadWithError:(UIWebView *)webView
didFailLoadWithError:(NSError *)error
{
[[self activityIndicator] stopAnimating];
}
- (void)webViewDidFinishLoad:(UIWebView *) webView
{
[[self activityIndicator] stopAnimating];
}
在斯威夫特,我做了以下内容:
启用:UIApplication.sharedApplication().networkActivityIndicatorVisible = true
禁用:UIApplication.sharedApplication().networkActivityIndicatorVisible = false
这进入状态栏,虽然 – powerj1984 2015-02-10 15:02:03
你没有错。我误解了OP - 道歉。话虽如此,我遇到这个帖子寻找如何解决在状态栏中显示网络活动指示器问题的答案 - 希望我的答案仍然可以为某人提供一些帮助,如果没有的话。 – djbp 2015-02-11 08:43:26
Swift代码:
let activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let barButton = UIBarButtonItem(customView: activityIndicator)
self.navigationItem.setRightBarButtonItem(barButton, animated: true)
activityIndicator.startAnimating()
这斯威夫特为我工作:
let activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView.init(activityIndicatorStyle: .White)
let refreshBarButton: UIBarButtonItem = UIBarButtonItem(customView: activityIndicator)
self.navigationItem.leftBarButtonItem = refreshBarButton
activityIndicator.startAnimating()
10.1.1中崩溃:libC++ abi.dylib:以NSException类型的未捕获异常终止 – 2016-11-08 06:29:24
例如WhatsApp:
//声明
let activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .gray)
// viewDidLoad中
我注意到,在iOS 7上,你需要使用'activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];'或者指标不会出现。 – antf 2014-01-07 19:27:36