Я использую этот трюк для создания экземпляра UIActivityIndicatorView
поверх UIToolBar
, что в противном случае было бы невозможно. Например, здесь у меня есть UIToolBar
с 2 UIBarButtonItem
, FlexibleSpaceBarButtonItem
, а затем еще один UIBarButtonItem
. Я хочу вставить UIActivityIndicatorView
в UIToolBar
между гибким пробелом и последней (правой) кнопкой. Так что в моем RootViewController
я делаю следующее,
- (void)viewDidLoad {
[super viewDidLoad];// Add an invisible UIActivityViewIndicator to the toolbar
UIToolbar *toolbar = (UIToolbar *)[self.view viewWithTag:767];
NSArray *items = [toolbar items];
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 20.0f, 20.0f)];
[activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];
NSArray *newItems = [NSArray arrayWithObjects:[items objectAtIndex:0],[items objectAtIndex:1],[items objectAtIndex:2],
[[UIBarButtonItem alloc] initWithCustomView:activityIndicator], [items objectAtIndex:3],nil];
[toolbar setItems:newItems];}