【问题标题】:Autoshrink setting for UIButton in StoryboardStoryboard 中 UIButton 的自动收缩设置
【发布时间】:2016-06-21 23:15:28
【问题描述】:

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

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

【问题讨论】:

    标签: ios xcode xcode-storyboard


    【解决方案1】:

    您可以使用用户定义的运行时属性通过情节提要设置此标志。

    设置如下键路径:

    titleLabel.adjustsFontSizeToFitWidth to true
    

    【讨论】:

      【解决方案2】:

      ,情节提要中没有设置按钮的 textlabel auto-shrink 的选项,

      但您可以使用 adjustsFontSizeToFitWidth 以编程方式设置它 正如你所知道的那样。

      yourbutton.titleLabel?.adjustsFontSizeToFitWidth = true;
      

      【讨论】:

      • 您可以通过 IBDesignable 和 IBInspectable 进行设置
      • @techlorr 他只是想知道故事板是否有可能。他想要像 UILabel 中的 Autoshrink 这样的直接选项。
      • 是的,但我们可以通过几行代码向他展示另一种方法,而不是用粗体告诉他“否”
      • @techlorr 他已经提到他知道另一种编程方法。
      • @techlorr 这不仅是通过故事板,您还需要以编程方式设置一些属性。
      【解决方案3】:

      试试这个

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

      如果你想在故事板中设置,试试 IBDesignable 和 IBInspectable

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

      【讨论】:

      • 那么你是我的答案的否决者吗,好的,欢迎兄弟,在没有单个代码的情况下提出的问题需要更改,这在 UIButton 中是否可行
      • 没什么难受的兄弟,它已被弃用,所以我投了反对票
      • IBDesignable 或 IBInspectable 我们分配自定义属性,在这里我们添加我们自己的属性,无论我们需要什么正确
      • 如果我们可以在自定义属性的设置器中设置此属性,请尊重
      【解决方案4】:

      Swift 4 解决方案

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

      【讨论】:

        猜你喜欢
        • 2013-12-26
        • 2013-09-17
        • 2011-03-24
        • 2015-02-15
        • 1970-01-01
        • 2016-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多