运行时的UIButton字体大小

时间:2014-12-07 21:20:37

标签: ios objective-c uibutton

我在一个小型iOS应用程序中工作,我必须根据设备更改UIButton的字体大小。我可以使用自动布局并根据设备更改UIButton框架,但字体大小保持不变。我不想检查设备的条件,因为我的应用程序将在iPad和iPhone以及横向和纵向模式下运行。这让我检查了12个不太好的做法。

基本上我不想通过使用类似的东西设置字体

[_myButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:40.0f]] ;

我已经用Google搜索了但我找不到任何可以解决问题的方法。

感谢任何帮助。

提前致谢。

编辑:

我试过了,但它没有用。

[[_myButton titleLabel] setAdjustsFontSizeToFitWidth:YES] ;

编辑: enter image description here enter image description here

以下是我的问题的附加屏幕截图。我希望这有助于理解我的问题。

2 个答案:

答案 0 :(得分:0)

setAdjustsFontSizeToWidth不会根据设备宽度调整字体,而是调整控件的边界 - 在这种情况下是按钮的标签。如果您希望随每个设备更改字体大小,请尝试在storyboard或.xib文件中设置更高的按钮的前导和尾随空间限制,但使用您尝试过的代码。

Example of how to add a constraint

确保按钮大小足以容纳文本,然后选择它并单击右下角右侧的第三个按钮。单击两条水平红线,并自动填充其值,然后单击“添加2个约束”。希望这会有所帮助。

答案 1 :(得分:0)

以下是步骤: -

1)创建按钮的子类。

2)实施以下方法: -

-(CGSize)intrinsicContentSize {
    return CGSizeMake(self.frame.size.width, self.titleLabel.frame.size.height);
}