在我的应用程序中,我有两个UIViewControler的UINavigationController(第一个和第二个)。第一个视图控制器包含UITableView。当触摸表格的单元格时,推动第二视图控制器。我想要的是在第二个视图中将自定义文本设置为后退按钮。这是第二个视图中的代码。
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem =
[[[UIBarButtonItem alloc] initWithTitle:@"Go back"
style:UIBarButtonItemStyleBordered
target:nil
action:nil] autorelease];
}
问题是后退按钮的文本已更改,但触摸按钮时,第二个视图控制器不会从堆栈中删除。
答案 0 :(得分:6)
这已经被问过很多次了:
后退按钮(self.navigationItem.backBarButtonItem
)必须设置而不是左按钮,而不是第二个控制器,而是第一个(根)。
答案 1 :(得分:2)
“后退”按钮适用于执行推送的控制器。在这种情况下,您需要在“第一个”UIViewController中分配自定义后退按钮。当您按下第二个视图控制器时,后退按钮将显示正确的文本
答案 2 :(得分:1)
您正在尝试设置leftbarbuttonitem的属性。
要使用后退栏按钮的默认属性,只需使用
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
这会从导航控制器弹出推送的视图,也可以让你回到最后一个视图。