我正在创建一个自定义视图,它基本上只是一个cirlce内的复选标记。我使用layer.cornerRadius = 0.5 * frame.width
创建了一个圆圈,但是当我覆盖drawRect时,它会导致该行被忽略,我的视图变成正方形。
这是为什么?我怎么能解决这个问题所以我可以创建一个带有复选标记的圆圈?
这是我目前的代码:
class CheckMarkView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
layer.cornerRadius = 0.5 * frame.width
backgroundColor = .whiteColor()
hidden = true
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
答案 0 :(得分:1)
只需将clipsToBounds添加到true,并获取可用的所有帧。
class CheckMarkView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
layer.cornerRadius = 0.5 * frame.width
backgroundColor = UIColor.whiteColor()
clipsToBounds = true
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func drawRect(rect: CGRect) {
super.drawRect(rect)
}
}