是否有一个选项可以根据视图类型动态截断 UINavigationItem 文本?
这些是我可以编辑的唯一属性:
我通过设置换行符和自动收缩属性设置了 UILabel (但无法找到等价物) UINavigationBar中的一个:
编辑:我在Swift中为String编写了一个truncate扩展,但它似乎并不是一个优雅的解决方案,因为要正常工作,它需要知道上下文(例如显示大小) ,屏幕旋转等。)。此上下文在 UILabel 类中自动处理,但不在** UINavigationItem **中处理(除非我有一些技巧可以使用)。
答案 0 :(得分:0)
您可能正在寻找可变宽度演示字符串,如下所述:https://developer.apple.com/library/content/releasenotes/Foundation/RN-Foundation/index.html#10_11VariableWidthString
我们的想法是,您可以通过宽度表和替代字符串实时调整字符串。该文档假定一个与您的用例非常相似的用例:
为了举例说明这个问题,想象一下iOS应用程序意味着可以在不同的屏幕尺寸和/或不同的方向上运行。现在,请说有一些文字,“欢迎来到Apple Store。”有时,该文本可能非常适合可用空间。对于其他人来说,它可能太长了,并且希望将它缩短为“欢迎。”#34;