我正在创建一个自定义 View ,它基本上只是一个圆圈内的复选标记。我使用 layer.cornerRadius = 0.5 * frame.width
创建了一个圆,但是当我覆盖 drawRect 时,它会导致该线被忽略并且我的 View 变成了一个正方形。
这是为什么?我该如何解决这个问题,以便在其中创建一个带有复选标记的圆圈?
这是我当前的代码:
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")
}
}
最佳答案
只需将 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)
}
}
关于ios - DrawRect 覆盖 View 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30698405/