swift - 使 UIButton 在 Interface Builder 中可访问

标签 swift xcode uiview interface-builder ibdesignable

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

enter image description here

最佳答案

抱歉,我想念这个问题。不,您不能将 UIButton 作为界面构建器中的属性。我相信@IBInspectable 只支持特定的一组类型。

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

  • 国际
  • CGFloat
  • 双人间
  • 字符串
  • bool
  • CG点
  • CGSize
  • CGRect
  • 界面颜色
  • 界面图片

但是,您可以像下面的示例那样执行操作并将其应用于其他属性:

@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)
        }
    }
}

关于swift - 使 UIButton 在 Interface Builder 中可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51122658/

相关文章:

ios - 从编程制作的 Controller 中呈现 Storyboard Controller

ios - 委托(delegate)如何在 objective-c 中工作?

ios - 如何从分组的 UITableView 的单元格中删除边框?

iphone - UIView类中addSubview和insertSubview的区别

ios - 如何在我的标签上显示两个日期的时间偏移量(年、月、周...)?

ios - NSKeyedArchiver、NSKeyedUnarchiver 和 TimeInterval 四舍五入超过 7 位小数

ios - 将数据从 Marker 传递到其他 VC

ios - 动画 Logo 从中心点向左向右移动

ios - UIView 动画 shadowPath 不遵循

ios - NSTimer 移动图像