【发布时间】:2015-05-06 22:29:39
【问题描述】:
我从 UIButton 以编程方式创建了 2 个 UIBarButtonItem。导航控制器位于 UITabBar 中。当我移动到同一个 UITabBar 中的另一个控制器时,这 2 个 UIBarButton 不会被删除。任何人都知道如何删除这 2 个 UIBarButtonItem
- (void)viewWillAppear:(BOOL)animated {
// Left Tab Bar Items
UIButton *fbutton = [[UIButton alloc] init];
[fbutton setImage:[[UIImage imageNamed:@"ble"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
[fbutton addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
fbutton.frame=CGRectMake(0, 0, 48 , 48);
UIBarButtonItem *fBLEItem = [[UIBarButtonItem alloc] initWithCustomView:fbutton];
fBLEItem.enabled = NO;
UIButton *tbutton = [[UIButton alloc] init];
[tbutton setImage:[[UIImage imageNamed:@"ble"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
[tbutton addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
tbutton.frame=CGRectMake(0, 0, 48, 48);
UIBarButtonItem *tBLEItem = [[UIBarButtonItem alloc] initWithCustomView:tbutton];
tBLEItem.enabled = NO;
self.tabBarController.navigationItem.leftItemsSupplementBackButton = YES;
self.tabBarController.navigationItem.leftBarButtonItems = @[fBLEItem,tBLEItem];
}
- (void) viewWillDisappear:(BOOL)animated {
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
[self.navigationItem setRightBarButtonItem:nil animated:NO];
}
【问题讨论】:
-
别忘了
[super viewWillDisappear:animated];和[super viewWillAppear:animated]; -
为了使您的代码更具可读性,请在每行的开头添加 4 个空格。这将帮助我们帮助您。
-
何不只做:
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ble"] style:UIBarButtonItemStylePlain target:self action:@selector(mySelector)];
标签: ios uinavigationcontroller uibarbuttonitem uitabbar