UILabel 动态获取字体大小 - swift 3

Posted

技术标签:

【中文标题】UILabel 动态获取字体大小 - swift 3【英文标题】:UILabel get font size dynamically - swift 3 【发布时间】:2017-07-21 05:52:13 【问题描述】:

我的应用中有一个 UILabel -> txtLabel 和 UITextView -> txtView 我的价值观如下

txtLabel.text = "The best preparation for tomorrow is doing best today" 
txtView.text = "ios Text View"
//Font size is 12 for both 
// I have minimum font size for label as 7 so for smaller devices that can 
   scale down till 7 and display entire label text in single line

我的要求是具有相同字体大小的单行标签和单行 textView。 但是,这在我的 iOS 7 模拟器中运行良好。

但在 iPhone SE 中,当我运行它时,我得到标签的小字体(比如 8),而 textView 字体保持不变 12

我的问题是:如何根据标签的新缩放字体大小更改 textView 的字体大小?

例如:在 iPhone SE 模拟器中,我的标签缩小到 7 。所以我应该将我的 textView 大小也设置为 7 在 iPhone7 中,尺寸 12 将适合屏幕,因此 textView 尺寸也应为 12

我不能使用单个标签/单个文本视图来适应整个内容,因此字体保持不变。它需要是一个单独的标签和一个单独的文本视图,因为我之间确实有其他字段,这种可能性被排除在外

请多指教

【问题讨论】:

您可以为您的标签设置属性字符串,并使用系统字体自动处理字体大小。 【参考方案1】:

根据self.view给出字体大小,而不是给定值

txtLabel.font = UIFont(name: "ProximaNova-Regular", size: self.view.frame.size.height/40 )

【讨论】:

以上是关于UILabel 动态获取字体大小 - swift 3的主要内容,如果未能解决你的问题,请参考以下文章

根据自动布局更改 UILabel 中的字体大小(swift)

如何使用 Swift 默认 UILabel 字体和大小

如何在 Swift 中更改 UILabel 的字体大小?

Swift font.withSize 不会改变 UILabel 上的字体大小

创建单一大小的动态 UILabel 字体

动态改变UILabel的字体大小