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无法显示?
答案 0 :(得分:0)
以下是UINavigationItem class reference的概述部分摘录:
导航项必须提供在视图时显示的标题 控制器是导航堆栈中最顶层的。另外,该项目 可能包含显示在右侧的其他按钮 导航栏。您可以指定要在其上显示的按钮和视图 工具栏的左侧使用leftBarButtonItems属性但是 导航控制器仅在有空间时显示这些按钮 可用。
如果没有足够的空间,导航控制器将无法显示左侧的任何按钮,后退按钮位于此处。这取决于导航控制器...
防止backButton不显示:
您可以进一步限制titleLabel
的大小吗? (视图的大小)。