如何將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. 添加UIActivityIndicatorView到UIActionSheet
- 2. 如何將UIActivityIndicatorView添加到UITableViewCell?
- 3. IPhone SDK:添加UIActivityIndicatorView到一個UITableViewCell
- 4. 如何在AlertView中添加UIActivityIndicatorView
- 5. 將UIActivityIndicatorView添加到UIButton的頂視圖
- 6. UIActivityIndicatorView freeze
- 7. Swift UIPageViewController&UIActivityIndicatorView
- 8. UIActivityIndicatorView/detachNewThreadSelector
- 9. UIActivityIndicatorView不mySubView
- 10. UIActivityIndicatorView in cocos2d
- 11. 如何UIActivityIndicatorView
- 12. swift UIActivityIndicatorView advice
- 13. 顯示UIActivityIndicatorView直到加載UIView
- 14. 將陰影添加到UIBarButton
- 15. 如何將UIActivityIndicatorView添加到UITableView的底部,並在加載時切換它
- 16. 如何添加標題或標記到UIActivityIndicatorView
- 17. UIActivityIndicatorView添加到UITableView時無法正常工作
- 18. UIActivityIndicatorView不旋轉
- 19. UIActivityIndicatorView不動畫
- 20. UIActivityIndicatorView不出現
- 21. iPad - iPhone Large UIActivityIndicatorView
- 22. UIActivityIndicatorView不顯示
- 23. UIActivityIndicatorView未對齊
- 24. iPhone中的UIActivityIndicatorView問題?
- 25. 在UIImageView中心UIActivityIndicatorView
- 26. 如何在UIAlertView的中心添加UIActivityIndicatorView?
- 27. 如何將UIActivityIndicator添加到drawRect中
- 28. UIActivityIndicatorView從網上加載圖像時?
- 29. iOS - 在加載表時顯示UIActivityIndicatorView
- 30. 如何顯示加載tableview的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