当navigationItem.title太长时,后退按钮标题消失

时间:2014-03-21 10:48:36

标签: ios objective-c cocoa-touch autolayout

NavigationItem中的所有按钮都在viewHierachy中特定视图的代码中设置。
标题设置为titleLabel,以设置minimumScaleFactor和contentCompression:

titleLabel.text = self.bookTitel;
titleLabel.minimumScaleFactor = 0.5;
[titleLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultLow
                             forAxis:UILayoutConstraintAxisHorizontal];
[titleLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultLow
                             forAxis:UILayoutConstraintAxisVertical];
self.navigationItem.titleView = titleLabel;

现在当bookTitle太长时,它缩短了......,但backButtons标题也消失了。

UIBarButtonItem没有回复setContentCompression:,因此我无法将其设置为requiredPriority。

如何防止backButton无法显示?

1 个答案:

答案 0 :(得分:0)

以下是UINavigationItem class reference的概述部分摘录:

  

导航项必须提供在视图时显示的标题   控制器是导航堆栈中最顶层的。另外,该项目   可能包含显示在右侧的其他按钮   导航栏。您可以指定要在其上显示的按钮和视图   工具栏的左侧使用leftBarButtonItems属性但是   导航控制器仅在有空间时显示这些按钮   可用。

如果没有足够的空间,导航控制器将无法显示左侧的任何按钮,后退按钮位于此处。这取决于导航控制器...

防止backButton不显示:

您可以进一步限制titleLabel的大小吗? (视图的大小)。