9

我在 iOS 7 中观察到的一种行为是,如果当前显示的视图控制器的标题太长,则 get 的标题会被重命名backBarButtonItemUINavigationItem懒得解释,放几张图:

带有短标题和所需后退按钮的屏幕截图

长标题将返回按钮重命名为

如您所见,当标题太长时,无论以前是什么,后退按钮都会重命名为“后退”。如果标题更长,后退按钮不显示任何文本,只显示左箭头图像。

有谁知道如何禁用此行为?我希望后退按钮完全保持我想要的状态,而不是被重命名。谢谢

编辑

我通过手动限制视图控制器标题的宽度创建了一个肮脏的解决方案。我发现 iPhone 上标题的字体是System Bold 17.0,所以我在设置它之前检查标题的大小(通过sizeWithAttributes:字符串的方法),并修剪标题末尾的字符,直到size 小于导致后退按钮重命名的长度。

4

1 回答 1

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; 
于 2013-12-11T09:27:01.953 回答