调整UILabel的大小,使其在iPhone和iPad上看起来一样

时间:2014-12-19 17:52:37

标签: ios autolayout

我正在尝试调整现有的iPhone应用,以支持iPhone 6和iPad。我不希望更改应用程序布局我只是希望它调整大小以适应各种设备。

屏幕上的许多UILabel都有可更新的内容,如果太长则会用省略号截断。

three sizes of resizable label on screens

我希望能够在故事板中使用autolayout执行此操作,但如果代码是唯一的方法,那么就这样吧。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以通过编程方式将字体大小设置为屏幕大小的一小部分。像这样:

/* 
 * Screen size is orientation dependent on iOS 8, so take the shortest
 * dimension as a rough measure of screen size
 */
CGSize size = [UIScreen mainScreen].bounds.size;
CGFloat sizeFactor = (size.width < size.height) ? size.width : size.height;

label.font = [UIFont systemFontOfSize:sizeFactor / 16.f];