UINavigationController后退按钮标题不一致?

时间:2014-01-31 21:08:30

标签: ios uinavigationcontroller

我在我的应用程序中使用了UINavigationController,并且我遇到了后退按钮标题的问题。我以编程方式为我推送的任何页面设置了标题。在某些页面上,后退按钮将正确显示上一页的标题,但是在选择其他页面时它只是显示“后退”。

我有一个推动新VC的基本实现:

- (void)pushToNewVC
{
    NewVC *newVC = [[NewVC alloc] init];
    [self.navigationController pushViewController:newVC animated:YES];
}

在newVC的viewDidLoad /所有myVC中,我有self.title = @"Title"

问题在于,在某些情况下它可以正常工作,但在其他情况下,只会说“返回”而不是之前的页面标题。

2 个答案:

答案 0 :(得分:2)

我注意到一种类似的行为,即如果后退按钮的标题长度不适合带有推送VC标题的导航栏,则后退按钮的标题将回退到< Back

在发生不一致行为的VC上,尝试将VC的标题设置为较短的单词,以便测试并确认是否确实发生了这种情况。希望这会有所帮助。

答案 1 :(得分:0)

设置self.title = @“Title”只会设置UINavigationBar的标题,而不是后退按钮。使用以下代码设置后退按钮标题:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
                                initWithTitle: @"Back Button Text" 
                                style: UIBarButtonItemStyleBordered
                                target: nil action: nil];

[self.navigationItem setBackBarButtonItem: backButton];