UINavigationBar中的后退按钮隐藏问题

时间:2011-08-05 15:43:24

标签: objective-c uinavigationcontroller title uibarbuttonitem

当我使用它时:[self.navigationItem setHidesBackButton:YES animated:NO];隐藏导航栏中的后退按钮,我的标题不会居中。打印就像按钮仍在那里。

有谁知道为什么会发生这种情况,以及如何解决这个问题?

编辑:

我的程序是这样的:我的rootViewController是一个导航控制器,我设置它以便隐藏导航栏。然后我推到另一个UIViewController,我让导航栏再次出现,但让后退按钮消失。

我尝试了设置self.navigationItem.backBarButtonItem = nil;,但没有让后退按钮消失。

以下是一些参考图片:

Picture with back button Picture without

5 个答案:

答案 0 :(得分:55)

viewController.navigationItem.hidesBackButton = YES;

这完美无缺!

答案 1 :(得分:13)

刚刚使用过它并且有效。

[self.navigationItem setHidesBackButton:YES animated:NO];
self.navigationItem.titleView.center = self.navigationController.navigationBar.center;

答案 2 :(得分:6)

设置self.navigationItem.backBarButtonItem = nil;

答案 3 :(得分:1)

您遇到的问题是因为您没有更改导航栏的构成,您只是隐藏了它的一部分。当您设置按钮的隐藏值时,您正在这样做,隐藏它,而不是删除它。它仍将占用空间。要解决您的问题,您需要删除该按钮,然后当您希望使用能够导航时,只需添加您的按钮即可。

但实际上,如果您遇到这样的显示问题,您应该重新考虑导航栏的UI设计并尝试提供更有效的按钮标题。

答案 4 :(得分:1)

您正在设置的属性是指当导航控制器堆栈中的“后退”项目时“自我”的表示方式。我假设您在“工作日历”视图控制器中设置此项,除非该控制器具有更多子视图,否则它将无法工作。

尝试将导航栏leftButtonItem属性设置为nil。