我在iOS 7中观察到的一个行为是,如果当前显示的视图控制器的标题太长,则重命名backBarButtonItem
的{{1}}的标题。太懒了解释所以这里有一些照片:
正如您所看到的,当标题太长时,无论以前是什么,后退按钮都会重命名为“后退”。如果标题更长,则后退按钮不显示任何文本,只显示左箭头图像。
有谁知道如何禁用此行为?我希望后退按钮保持我想要的状态而不是重命名。感谢
我通过手动约束视图控制器标题的宽度来创建一个脏解决方案。我发现iPhone上的标题字体是 System Bold 17.0 ,所以我在设置之前检查标题的大小(通过UINavigationItem
字符串方法) ,并修剪标题末尾的字符,直到大小小于导致后退按钮重命名的长度。
答案 0 :(得分:3)
iOS 7会自动将后退按钮标题替换为“后退”,甚至完全删除标题以适合当前导航项目的标题。你可能不应该尝试做任何事情,除非尝试缩短你的标题。
如果您想制作简短的标题,可以按照以下方式进行操作
self.title = @"SOME REALLY LONG NAVIGATION BAR TITLE";
UILabel* label=[[UILabel alloc] initWithFrame:CGRectMake(0,0, 200, 40)];
label.text=self.navigationItem.title;
label.adjustsFontSizeToFitWidth=YES;
self.navigationItem.titleView=label;