如何将UIActivityIndicatorView微调器圆添加到UIBarButton中,以便当用户点击导航栏上的这些按钮之一时,它们在加载发生时看到微调器?将UIActivityIndicatorView添加到UIBarButton中
回答
如果你想显示的导航栏按钮的活动轮(例如,你可能对你的导航栏刷新按钮) - 你可以用自定义视图作为UIActivityIndicatorView
创建一个新的UIBarButtonItem
:
目标C
uiBusy = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
uiBusy.hidesWhenStopped = YES;
[uiBusy startAnimating];
[self.navigationItem.rightBarButtonItem initWithCustomView:uiBusy];
夫特
let uiBusy = UIActivityIndicatorView(activityIndicatorStyle: .White)
uiBusy.hidesWhenStopped = true
uiBusy.startAnimating()
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: uiBusy)
这会用旋转轮盖写您的rightBarButtonItem
。完成后,只需重新创建rightBarButtonItem
即可。
UIActivityIndicatorView是一种视图。将其框架设置在您的按钮中,并使用-addSubview将其添加到UIBarButton的视图层次结构中。
我简单化,因为你必须设法使其适合空间(可能通过缩放)和居中......
伪代码,我不打算在Xcode中检查这一点,但东西像这样应该工作:
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] init];
act.frame = CGMakeRect(3,3,25,25);
[myBarButton addSubview:act];
[act release];
'UIBarButtonItem'不是'UIView'子类,没有'addSubview:'。你应该做一些像'UIBarButtonItem * myBarButton = [[UIBarButtonItem alloc] initWithCustomView:act];'而不是'myBarButton.customView = act;'。 – 2010-02-23 16:40:30
其实活动指标不会被添加为工具栏项目。这是当前观点的子视图。
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[act setCenter:CGPointMake(20, 20)];
[act startAnimating];
[self.view addSubview:act];
请记住在-(void)dealloc
中发布它。
有关如何使用活动指标的更多信息,请访问: http://stackoverflow.com/questions/593234/how-to-use-activity-indicator-view-on-iphone – 2009-11-12 08:03:56
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicator.hidesWhenStopped = YES;
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
将以下何地需要:
[activityIndicator startAnimating];
[activityIndicator stopAnimating];
使用此方法
-(void)startAniatingActivityIndicator{
@try {
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicator.frame = CGRectMake(self.window.frame.size.width-30, 32.5, activityIndicator.bounds.size.width, activityIndicator.bounds.size.height);
[self.window addSubview:activityIndicator];
[activityIndicator startAnimating];
[self.window bringSubviewToFront:activityIndicator];
}
@catch (NSException *exception) {
}
@finally {
}
}
-(void)stopAniatingActivityIndicator{
[activityIndicator stopAnimating];
[activityIndicator removeFromSuperview];
activityIndicator = nil;
}
- 1. IPhone SDK:添加UIActivityIndicatorView到一个UITableViewCell
- 2. 如何UIActivityIndicatorView
- 3. UIActivityIndicatorView/detachNewThreadSelector
- 4. UIActivityIndicatorView freeze
- 5. UIActivityIndicatorView不mySubView
- 6. 将阴影添加到UIBarButton
- 7. 如何将UIActivityIndicatorView添加到UITableView的底部,并在加载时切换它
- 8. 如何添加标题或标记到UIActivityIndicatorView
- 9. UIActivityIndicatorView添加到UITableView时无法正常工作
- 10. iPad - iPhone Large UIActivityIndicatorView
- 11. UIActivityIndicatorView未对齐
- 12. UIActivityIndicatorView不动画
- 13. UIActivityIndicatorView不出现
- 14. UIActivityIndicatorView不旋转
- 15. 如何在UIAlertView的中心添加UIActivityIndicatorView?
- 16. UIActivityIndicatorView从网上加载图像时?
- 17. 如何显示加载tableview的UIActivityIndicatorView
- 18. UIActivityIndicatorView为加载一个URL的UIImage
- 19. 无法将UIBarButton添加到导航栏
- 20. 更改搜索放大镜到UIActivityIndicatorView
- 21. UIActivityIndicatorView startAnimating不,在searchBarSearchButtonClicked
- 22. UIActivityIndicatorView长计算过程
- 23. 设置框架的UIActivityIndicatorView
- 24. UIActivityIndicatorView查看对话框
- 25. UIActivityIndicatorView没有显示
- 26. Objective C - UIActivityIndicatorView定位
- 27. 关于UIActivityIndicatorView的问题
- 28. 创建自定义UIActivityIndicatorView
- 29. UIActivityIndicatorView始终显示
- 30. UIActivityIndicatorView显示的键盘
'[self.navigationItem.rightBarButtonItem initWithCustomView: uiBusy];'对我来说似乎很狡猾。我期望'self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:uiBusy];'根据@ emotality的答案。 – 2015-09-01 19:40:47
备案:您通常要设置'uiBusy.activityIndicatorViewStyle = .gray' – Jeremy 2017-09-06 11:25:20
我使用计算属性来访问uiBusy:'private var uiBusy:UIActivityIndicatorView {if} if if busyView = self.navigationItem.rightBarButtonItem?.customView as?UIActivityIndicatorView { 回报busyView }其他{ 让uiBusy = UIActivityIndicatorView(activityIndicatorStyle:。白) uiBusy.hidesWhenStopped =真 uiBusy.activityIndicatorViewStyle = .gray self.navigationItem.rightBarButtonItem =的UIBarButtonItem(customView:uiBusy) 回报uiBusy ' }' – Jeremy 2017-09-06 11:26:43