如何在导航栏中为非 rootviewcontroller 的 tableviewcontroller 添加编辑按钮
Posted
技术标签:
【中文标题】如何在导航栏中为非 rootviewcontroller 的 tableviewcontroller 添加编辑按钮【英文标题】:How to add an edit button in a navigation bar for a tableviewcontroller that is not the rootviewcontroller 【发布时间】:2012-03-18 03:03:57 【问题描述】:我使用故事板。
我有一个UINavigationContrller
作为初始视图控制器。它与UIViewController
有一个rootViewController 关系。
UiViewController
有一个推送到TabBarController
。
TabBarController
的第一个 relashionship 是 TableViewController
。
我想给TableViewController
添加一个编辑按钮。
我尝试使用此代码:self.navigationItem.rightBarButtonItem = self.editButtonItem;
但是这一行只是被忽略了,导航栏不显示按钮。
我也写了这段代码:self.navigationController.navigationBarHidden = NO;
self.navigationcontroller.navigationItem.hidesBackButton = YES;
第一个不被忽略(导航栏从第一个UIViewController
中隐藏)第二个被忽略并保留后退按钮。
【问题讨论】:
【参考方案1】:尝试将其添加到您的视图控制器:
// When this view appears, add show the navigation bar and the edit button
- (void)viewDidAppear
[super viewDidLoad];
self.navigationController.navigationBarHidden = NO;
self.navigationItem.hidesBackButton = YES;
self.navigationItem.rightBarButtonItem = self.editButtonItem;
// When this view disappears, remove the editButton and hide the navigation bar
- (void)viewDidDisappear
self.navigationItem.rightBarButtonItem = nil;
self.navigationController.navigationBarHidden = YES;
【讨论】:
是的,这行得通,但是这段代码添加了编辑按钮并使导航栏在不是 tableView 的视图中可见,当我到达表格时,编辑按钮消失 我编辑了代码,让它在视图消失时再次消失。以上是关于如何在导航栏中为非 rootviewcontroller 的 tableviewcontroller 添加编辑按钮的主要内容,如果未能解决你的问题,请参考以下文章