【发布时间】:2018-04-06 22:22:34
【问题描述】:
直到 iOS 10,UIToolbar 在其项目之间具有灵活的空格键按钮项目会自动减小字体,以便所有文本都显示在屏幕上。下面的示例(iOS 10):
从 XCode 9 开始,在模拟器上运行 iOS 11 时,我的工具栏显示如下:
不仅文本的字体大小没有减小,而且最后一个条形按钮项(没有文本,只有图像)消失了。
为了解决这个问题,我发现从 iOS 11 开始,UIToolbar 现在使用自动布局而不是框架。一些与此问题相关的帖子建议为项目创建约束,为项目指定宽度和/或高度。
但是,我想要实现的是将所有内容都放在工具栏中,即使这意味着减小字体大小。我认为我不能以编程方式设置固定宽度/高度。
此外,这是在 Storyboard 上使用 IB 构建的。 UIBarButton 类不允许我访问 UILabel(用于文本项)或 ImageView(用于带有图像的项)。我已经检查过,customView 在运行时是nil。
我尝试通过代码创建项目,将customView 设置为UILabel,将adjustsFontSizeToFitWidth 设置为true,但没有任何运气。我不知道 iOS 11 上灵活的空格键项目的用途是什么。
那么,如何模仿我之前的行为呢?适合所有项目并自动调整文本大小?
【问题讨论】:
-
如果您觉得丢失了有价值的功能,请向 Apple 提交错误报告。
-
@matt 我可以,是的。我只是假设我做错了什么。
-
每次重大更新都会丢失一些东西......
标签: ios autolayout uitoolbar ios-autolayout