UINavigationController 不采用先例视图标题
Posted
技术标签:
【中文标题】UINavigationController 不采用先例视图标题【英文标题】:UINavigationController does not take the precedent view title 【发布时间】:2013-10-09 10:25:45 【问题描述】:我有一个名为 "firstView" 的简单视图(在 ViewDidLoad 方法中使用此代码:[self setTitle:@"firstView"
),其中仅包含一个
按钮。当我单击此按钮时,我的应用程序会显示另一个视图
(称为“secondView”),感谢以下代码:
- (IBAction)btnShowAnOtherView:(id)sender
secondView *secondView = [[secondView alloc] initWithNibName:@"secondView" bundle:nil];
[self.navigationController pushViewController:secondView animated:YES];
然后,新视图(即“secondView”)自动设置 导航栏返回按钮标题为“firstView”。 所以一切正常 很好。
我有一个名为 "thirdView" 的简单视图(在 ViewDidLoad 方法中使用此代码:[self setTitle:@"thirdView"
),其中包含一个 UITableView。
当我单击一个单元格时,我的应用程序会显示另一个视图(称为
“fourthView”),感谢以下代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
fourthView *fourthView = [[fourthView alloc] initWithNibName:@"fourthView" bundle:nil];
[self.navigationController pushViewController:fourthView animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
但新视图(即“fourthView”)的导航栏后退按钮标题设置为“Back”,而不是“thirdView”时间>。 为什么?
这是第三个视图:http://imageshack.us/a/img818/8886/ldp9.png
这是第四个视图:http://imageshack.us/a/img33/2444/5y0k.png
感谢您的帮助...
【问题讨论】:
第三个视图的标题在哪里设置? 我在我的thirdView的ViewDidLoad方法中设置了。 【参考方案1】:当您没有设置 thirdview 标题时会发生这种情况。 但是您正在按照答案中的描述设置标题。 检查您的第三个视图的标题是否显示在您的导航栏上?
【讨论】:
是的,第三视图的标题显示在导航栏上。 请看我的帖子,我通过添加截图进行了修改。 我认为视图控制器的名称太长了。尽量缩短。试试吧。 “Lites des petiants”仅替换为“abc” 哦,你是对的。这很奇怪,因为在更新到 ios 7 之前,它会显示完整的标题,或者如果标题太长,则会显示部分标题。感谢您的帮助!以上是关于UINavigationController 不采用先例视图标题的主要内容,如果未能解决你的问题,请参考以下文章
iOS:如何在现有 UINavigationController 中打开另一个 UINavigationController?
带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller
带有 UINavigationController 的 UITabBarController,在 hidesBottomBarWhenPushed 上隐藏 UINavigationController
在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?
UINavigationController 与 AppDelegate 中的 UISegmentedControl 切换 UINavigationController 的 rootviewcontr