【问题标题】:Is it possible to remove a superclass' IBInspectable property?是否可以删除超类的 IBInspectable 属性?
【发布时间】:2016-06-09 05:11:42
【问题描述】:

我正在编写一个继承自另一个的自定义视图(想想继承自 UIButton 的 CustomButton)。

超类 (UIButton) 有一些属性可以使用 Interface Builder 的检查器进行检查(例如字体、颜色等)。

我希望我的自定义类只显示我自己的可检查属性,并抽象出将被我的类覆盖的较低级别的选项(来自 UIButton)。

是否可以从超类中删除 IBInspectable 属性?

【问题讨论】:

  • 不,因为您不能覆盖子类中的属性

标签: ios xcode


【解决方案1】:

听起来好像你想扩展 UIView 类并从 Interface Builder 中删除背景属性。这从结构上是不可能的。

然后,如果您尝试在继承的 UIButton 类中覆盖字体属性以进行自定义(如下面的代码),您将收到编译器错误,因为您无法覆盖超类的存储属性。

override var font: UIFont {
    set {

    }
    get {

    }
}

【讨论】:

  • 所以,不 :( 无论如何,我想如果我不太关心方法,我可以直接扩展 UIView 并将 UIButton 添加为子视图以在视觉上实现相同的效果。
猜你喜欢
  • 2011-04-05
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 2023-03-22
  • 2018-06-30
相关资源
最近更新 更多