2016-12-14 20 views
0

我定製了UI按鈕並使用IBInspectable創建了一些屬性。但是,我還需要爲選定或突出顯示的狀態使用相同的屬性,並且可以在Interface Builder中對其進行檢查。我想知道它是否可以實現?IB定製UIButton時不同狀態的屬性

這裏是定製的按鈕,我創建

@IBDesignable 
    class ImageLabelButton: UIButton{ 
    /* 
    // Only override draw() if you perform custom drawing. 
    // An empty implementation adversely affects performance during animation. 
    override func draw(_ rect: CGRect) { 
    // Drawing code 
    } 
    */ 
    let buttonImgView = UIImageView() 
    let buttonLabel = UILabel() 
    // let stackView = UIStackView() 



    // Override property observors 
    @IBInspectable 
    var textColor:UIColor? { 
     get { 
      return buttonLabel.textColor 
     } 
     set(newValue) { 
      self.buttonLabel.textColor = newValue 
     } 
    } 
} 

我想爲其他狀態的IBInspectable屬性爲好。可以做到嗎?謝謝!

+0

添加兩個新的可檢查屬性? :) – Cristik

回答

0

簡答題?編號Interface Builder不能「處理」代碼。

  • 我有一個需要知道我的應用程序是縱向還是橫向(各種滑塊控件位於底部或右側,取決於此)。

我可以使用IB嗎?不是,如果我需要知道在iPad上...它的尺寸等級是(WR hR),除非滑出或分割屏幕在那裏。我可以爲每個方向「設計」一些東西,但即使是Apple - WWDC'16,使應用程序自適應,第2部分 - 最終也會將代碼放入viewWillLayoutSubviews()中。

  • 將UIButton放在故事板上。你能處理一個水龍頭嗎?在故事板上放置一個UISlider。你可以平移它左或右?

你問一個設計時間工具來處理運行時間行動。

所以再次,你不能使某些按鈕狀態IBDesignable。