在Identity Inspector中,我想为我的UIButton
设置自定义类。
因此,我创建了一个UIView
的自定义类,但我的自定义类没有出现在列表中。
反之亦然,如果我在列表中添加UIView
,则大多数课程都会显示UIButton
。
如果UIButton
是UIView
的子类,而UIView
不是UIButton
,
为什么可能,为什么我不能使用UIView
自定义类来代表我的UIButton
?
答案 0 :(得分:2)
我不完全确定你的意思,但我会去。
你的问题......
如果UIButton是UIView的子类,而UIView不是UIButton,为什么我可以使用我的UIView自定义类来表示我的UIButton。
我相信你在说......
UIButton
是UIView
。UIView
。UIButton
设置为自定义视图?是吗?
如果是这样,那就相当清楚了。仅仅因为它们来自同一个类并不意味着它们是相关的。 UILabel
也来自UIView
但非常不同。
如果您要创建UIButton
的自定义子类,那么您的自定义类应该来自UIButton
...
你应该......
@interface YourSubclass: UIButton
而不是......
@interface YourSubclass: UIView
执行此操作将使自定义子类出现在Interface Builder中的Identity Inspector中。
答案 1 :(得分:2)
您可以为UIButton创建自定义子类。然后将其设置为任何按钮的自定义类。
class CCButton: UIButton {
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect) {
// Drawing code
}
*/
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
createBorder()
}
required override init(frame: CGRect) {
super.init(frame: frame)
createBorder()
}
private func createBorder(){
//Define Layer
self.layer.cornerRadius = 8.0
self.layer.masksToBounds = true
}
}