我已经开始将代码分成模块,因此我创建了一个名为GEView
的框架。
问题出在界面生成器中。 UIView
使用以下框架进行子类化:
但是,我看不到任何@IBInspectable
属性。当此类在项目中而不是分离到框架中时,它确实起作用了。如何查看这些内容,以便更改属性?
/// UIView subclass to allow creating corners, shadows, and borders in storyboards.
@IBDesignable
open class GEView: UIView {
/* ... */
// MARK: - Rounded corners
@IBInspectable
public var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = self.cornerRadius
layer.masksToBounds = true
}
}
/* ... */
}
我什至在包含该视图的界面构建器中为此视图控制器的类中添加了import GEView
,仍然无法使用。
这是我第一次在项目中使用自己的框架,因此我可能会错误地创建或导入它。这是项目层次结构:
我设法使Interface Builder
至少可以识别GEView
类。我在项目中尝试了以下代码:
@IBDesignable
class IBGEView: GEView {
@IBInspectable
var _cornerRadius: CGFloat { return cornerRadius }
}
然后,我将在Interface Builder
中使用IBGEView
进行子类化。这绝不是我一直在寻找的解决方案,因此我仍在寻找。 这不是解决方案。
答案 0 :(得分:0)
我认为您还需要指定模块。通常,它是框架的名称。从目标中取消选中模块,然后在其中写入框架名称