ios - 更改整个应用程序中的字体大小
<p><p>我的应用程序中有很多标签。更改所有字体大小的最佳方法是什么?例如:</p>
<pre><code>func changeFontSize()
{
var coefficient = 1.0
switch device{
case iPadPro:
coefficient = 1.2
case iPhone5:
coefficient = 0.9
case iPhone4:
coefficient = 0.8
...
updateFontSizeInApplication(coefficient)
}
</code></pre>
<p>这可能吗?我应该根据设备在每个 Controller 上设置每个标签的系数吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>尝试为 UIFont 做扩展并实现方法/s,它将返回您的所有应用程序字体/字体与缩放大小。</p>
<pre><code>extension UIFont {
class func appFontName(size: CGFloat) -> UIFont {
guard let font = UIFont(name: "YourFontName", size: scaledSize(size)) else {
return UIFont.systemFontOfSize(scaledSize(size))
}
return font
}
private class func scaledSize(size: CGFloat) -> CGFloat {
let coefficient = 1
switch device { // pseudocode for checking device type
case iPadPro:
coefficient = 1.2
case iPhone5:
coefficient = 0.9
case iPhone4:
coefficient = 0.8
}
return size * coefficient
}
}
</code></pre>
<p>示例用法:</p>
<pre><code>let textField = UITextField()
textField.font = UIFont.appFontName(16) // on iPad it will be ~19
</code></pre>
<p>希望它能启发你;)</p></p>
<p style="font-size: 20px;">关于ios - 更改整个应用程序中的字体大小,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/40228310/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/40228310/
</a>
</p>
页:
[1]