使UIButton在Interface Builder中可以访问

时间:2018-07-01 10:59:20

标签: swift xcode uiview interface-builder ibdesignable

我正在研究一个小项目,该项目在屏幕底部添加了一个小栏,类似于UITabBar(请参见下面的屏幕截图)。这是@IBDesignable类。您可以看到的蓝色框是带有占位符图像的按钮。现在我的问题是,我是否也可以以某种方式向IB打开这些按钮?就像当我单击其中一个框时,会得到该特定按钮的属性检查器一样? 预先感谢

enter image description here

1 个答案:

答案 0 :(得分:1)

对不起,我想念这个问题。不,您不能在界面构建器中将UIButton作为属性。我相信@IBInspectable仅支持某些类型的类型。

这些是我所知道的类型,也许还有更多类型。

  • Int
  • CGFloat
  • Double
  • 字符串
  • 布尔
  • CGPoint
  • CGSize
  • CGRect
  • UIColor
  • UIImage

但是,您可以执行以下示例,并将其应用于其他属性:

@IBDesignable class CustomTabBar: UITabBar {
    var button1: CustomButton!
    var button2: CustomButton!
    var button3: CustomButton!

    @IBInspectable var button1Title: String? {
        get {
            return button1.titleLabel?.text
        } set {
            button1.setTitle(newValue, for: .normal)
        }
    }
}