// Outlet collection of labels
@IBOutlet var headerLabels: [UILabel]!
// Who needs a short variable name when we can have a
// painfully lengthy one to describe the number we calculated?
let relativeFontConstant:CGFloat = 0.046
override func viewDidLoad// {
super.viewDidLoad//
// Should be in the viewDidLoad so it can load the same time as
// the view does.
// apply a font size to all the labels.
for label in headerLabels {
// multiply the height we based it on of the entire view
// to the number we calculated
label.font = label.font.withSize/self.view.frame.height * relativeFontConstant/
}
}
// Set the clock font size according to the height.
// Design was done on iPhone XR with height of 896 points and font size of 98.
if /UIScreen.main.bounds.height != 896/. // Only need code if not on original design size.
{
let scaleFactor: Float = Float/UIScreen.main.bounds.height/ / 896.0
let fontSize = CGFloat/98.0 * scaleFactor/
self.clock.font = self.clock.font.withSize/fontSize/
}
7 个回复
奔跑吧少年
赞同来自:
https://coderoad.ru/27153181/
. 我知道你可能不使用 Swift /我用 Objective-C/, 但第一个答案显示如何在故事板中进行。 制作在那里写的相同的东西,但是对于标签。 然后请参阅下面的图像以更改标签的自动收缩的参数 "Fixed Font Size" 在 "Minimum Font Scale" /查看下面的图像/. 希望它会有所帮助!
石油百科
赞同来自:
步 1:
看看一些字体大小
对于不同的屏幕尺寸,
写作
尺寸
字体和最重要的
相关的其他维度
.
那就是我的意思 ...
我会从通常的屏幕开始 iPad 并选择工作的字体大小。
https://i.stack.imgur.com/ODNGO.png
正如我知道屏幕的整个高度将确定什么使字体大小方便的字体大小,我录制了字体大小以及所有屏幕高度。
https://i.stack.imgur.com/FJ4Wi.png
因此,字体大小是
50
高度
1024
.
然后我转换为 iPhone SE
https://i.stack.imgur.com/vb7hL.png
这非常可怕,所以我纠正了字体大小:
https://i.stack.imgur.com/Lxgeu.png
录制后,字体大小在级别工作
25
高度
568
.
步 2:
删除计算器应用程序和
找到一个常数
, 哪个绑定
字体尺寸
从
高度
/在我的情况下/, 给予或带一点。
那就是我的意思:
我知道 50 合作 1024 所以呢 25 合作 568.
分配 50/1024 给你 .048828125.
将此号码乘以 568 一样 27.734375, 什么是有点脂肪的字体大小 SE.
重复此过程,但使用值 SE 要执行司,事实证明 .0440140845, 并用高度检查 iPad 字体大小获得 45, 对于强大的屏幕来说只是一个小小的屏幕 iPad.
因此,我划分了中间的系数,结果是约的数量 0.46.
步 3:
连接标签
和
修正案
他们的
字体大小软件
, 使用这个号码。
首先将标记拖动到插座的集合。 我打电话给我的联系 'headerLabels', 因为所有这些都位于屏幕的顶部。
https://i.stack.imgur.com/WpoO0.png
那么你似乎可以窃取我的代码,但只是没有赚到太多钱 ;/
如果您有任何疑问,评论,赞美或侮辱,请告诉我 :/
冰洋
赞同来自:
https://i.stack.imgur.com/Z3jKL.png
2. 按 + 在字体上签名,选择宽度和高度 "Regular", 单击“添加变体”按钮。
https://i.stack.imgur.com/M5d4O.png
3. 将出现另一个字段字体,它将代表一个字体 ipad/大错位 screen/ 在大屏幕上 /滚动视图
/
https://i.stack.imgur.com/6bWaT.png
4. 选择所需的字体 ipad
https://i.stack.imgur.com/7jZCN.png
詹大官人
赞同来自:
自适应尺寸非常有限,因为您只能为大小设置字体大小。 两个宽度选项的字体大小的存在,紧凑且常规,对我来说不是一个解决方案。
我写了一个小型库,用于处理自动字体缩放
UILabel
和
UITextView
对于不同的屏幕尺寸。
您可以全局或特定实例设置缩放。
UILabel
和
UITextView
.
在这里找到:
https://github.com/alexmx/AMXFontAutoScale
董宝中
赞同来自:
龙天
赞同来自:
/请注意,屏幕边界在 'points', 不是 'pixels'/
同时使用字体 "Helvetica Neue", 这是固定宽度的字体。 由于某种原因在大型设备上没有完全缩放,因此仍然略低于目标 iPads, 但足够接近。
知食
赞同来自:
如上所述 @VatsalManot, 首先,检查自适应校准。 这是一个很好的链接:
http://www.raywenderlich.com/8 ... orial
希望它会有所帮助! :/