电流设置一个multilined的UIButton字体:缩放上取决于设备尺寸
我有一个multilinedUIButton
被添加到它的父(普通UIView
)。按钮的宽度是其超级视图的90%。所以当它的超级视图尺寸发生变化时,由于Autolayout
的限制,标签的宽度会相应地改变。
接下来,viewDidLoad方法里面我这样做:
//Line break mode and Font size (are set in Interface Builder
myButton.titleLabel?.adjustsFontSizeToFitWidth = true
myButton.titleLabel?.minimumScaleFactor = 15.0
myButton.titleLabel?.numberOfLines = 2
所以现在,当我有很长的文字,在iPhone设备我得到的是这样的:
这正是我想要的。但是,当然,这在iPad设备上看起来不同。例如,这是在iPad Pro的9.7" :
而且,因为它可以看到,一切看起来小坏
我曾尝试:
我试图设置最大字体大小(将在iPad设备上使用)以及minimumScaleFactore = 15
。因此,我将字体大小设置为25,现在iPad和iPhone上的所有内容都可以接受,但在iPhone设备上,文本仍然是因为minimumScaleFactor的工作原理,比我需要的要大一点。
什么是解决此问题的方法?
我更成得到这样的事情(让所有的iPad和iPhone设备相似的外观):
所以基本上,我在寻找一种方法来设置这一切都以某种方式,最好是通过IB,或者如果没有可能,通过代码,但我试图避免以编程方式基于检测到的设备设置字体。我的意思没有什么不好,但我想知道是否有更优雅的东西。 – Whirlwind