故事板中 UIButton 的自动收缩设置

Autoshrink setting for UIButton in Storyboard

storyboard中有UILabel的设置可以设置自动收缩配置,如下图:

但我找不到 UIButton 的文本标签。 我知道我可以通过编程方式进行设置,但很想知道是否有办法在 Storyboard 中为 UIButton 启用此设置。

试试这个

btn.titleLabel.adjustsFontSizeToFitWidth = YES;
btn.titleLabel.minimumScaleFactor = 0.5; // set whatever factor you want to set 

如果您想在故事板中设置,请尝试 IBDesignable 和 IBInspectable

参考http://nshipster.com/ibinspectable-ibdesignable/

,故事板中没有可用于设置按钮的文本标签自动收缩的选项,

但您可以使用 adjustsFontSizeToFitWidth 以编程方式设置它 如您所知。

yourbutton.titleLabel?.adjustsFontSizeToFitWidth = true;

您可以使用用户定义的运行时属性通过故事板设置此标志。

设置以下关键路径:

titleLabel.adjustsFontSizeToFitWidth to true

Swift4个解

class CustomButton : UIButton{
    @IBInspectable var adjustsTitleFontSizeToFitWidth: Bool = false {
        didSet {
            self.titleLabel?.adjustsFontSizeToFitWidth = adjustsTitleFontSizeToFitWidth
        }
    }
}
extension UIButton {
    @IBInspectable var adjustsTitleFontSizeToFitWidth: Bool = false {
        didSet {
            self.titleLabel?.adjustsFontSizeToFitWidth = adjustsTitleFontSizeToFitWidth
        }
    }
}