iOS - 使用自动布局创建比例按钮、标签等

iOS - creating proportional button, labels, etc with autolayout

我正在尝试使用自动版式创建游戏菜单。我真的希望它根据屏幕的大小进行缩放。例如,如果 UILabel 在 iphone 上的字体为 12,那么在 ipad.

上它可能应该是 24 或 30

我使用约束使元素本身根据屏幕尺寸变大,但 UIButton 上的标题不会根据按钮尺寸缩放。

我知道您可以根据尺寸 class 创建元素,但这是最好的方法吗?我是否应该重新制作按钮两次,这样我就可以增加一个按钮上的字体大小而不是另一个按钮?

我实际上已经尝试过这种方法,但是当我将我的按钮复制到另一个尺寸时 class 它失去了所有相关的约束..

完成这样的事情的最佳方法是什么。我需要跨设备的相同布局,但不仅仅是以相同的方式间隔。我需要实际放大的东西。

您需要将按钮的 titleLabel 的字体大小设置为根据您想要的比例进行调整...我建议使用 12 的比例来使屏幕尺寸按比例增长。例如,屏幕尺寸是其两倍(宽度的两倍)的设备将具有两倍大的字体。您的比率是 320:screenWidth 并乘以字体大小 12。

[myButton.titleLabel setFont:[UIFont systemFontOfSize:(12.0f*(self.view.frame.size.width/320.0f))]];