Push Segue 后更改回按钮标题

Posted

技术标签:

【中文标题】Push Segue 后更改回按钮标题【英文标题】:Change back Button Title after Push Segue 【发布时间】:2014-11-22 22:56:28 【问题描述】:

我有一个从 MasterViewController 推送的 DetailViewController,如下图:

当详细视图显示时,它有一个“后退”按钮标题等于 MasterViewController 的文件名:“Master”(因为我在 MasterViewController 中有一个带有两个标签的自定义标题)。

有办法修改吗?

MasterViewController 复合标题:

UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 150, sum + 20)];

[titleView addSubview:first];
[titleView addSubview:second];

self.navigationController.navigationBar.topItem.titleView = titleView;

我试过没有运气:

self.navigationController.navigationBar.backItem.title = @"AAA";
self.navigationController.navigationItem.backBarButtonItem.title = @"AAA";
self.navigationItem.backBarButtonItem.title = @"AAA";

我注意到在视图层次结构中,DetailViewController 中没有NavigationItemNavigationBar,因此添加它不可能将左箭头添加到BarButtonItem

还有一个与此类似但没有明确答案的问题。

【问题讨论】:

【参考方案1】:

显示的是视图控制器的标题属性,所以在 MasterViewController 集合中

self.title = @"AAA"

【讨论】:

“自定义标题”和“取文件名”是什么意思?后退按钮采用在视图控制器中设置的标题,后退按钮通常引用。我没有看到你为改变这种行为所做的任何事情...... “复合”标题与视图控制器的标题属性无关。你能在 MasterViewController 中显示你设置 self.title 的内容吗?

以上是关于Push Segue 后更改回按钮标题的主要内容,如果未能解决你的问题,请参考以下文章

辞去 Push Segue 的第一响应者

IOS:推送segue后导航栏消失

使用 Push segue 时将导航栏改回默认值

如何在目标 c 中的按钮 Segue 后导航回来

如何在执行segue之前执行按钮动画[重复]

segue 样式“替换”后缺少导航栏按钮项