我正在尝试学习Core Graphics,并且在使用drawRect时遇到了这个问题。 (下图)
我创建了一个继承自UIView的类,它有drawRect代码。在我的viewcontroller类中,我设置尺寸并添加子视图。
结果是我的形状周围有一个黑框。我该如何解决这个问题?
class myViewController: UIViewController {
var bg = Background()
override func viewDidLoad() {
super.viewDidLoad()
bg = Background(frame: CGRectMake(50, 50, 50, 50))
self.view.addSubview(bg)
self.view.sendSubviewToBack(bg)
}
class Background: UIView {
override func drawRect(rect: CGRect) {
// Drawing code
var path = UIBezierPath(ovalInRect: rect)
UIColor.greenColor().setFill()
path.fill()
}
}
答案 0 :(得分:4)
您需要设置bg
元素的背景颜色,只需添加此行bg.backgroundColor = UIColor.clearColor()
即可。因此,在viewDidLoad方法中,将代码更新为:
bg = Background(frame: CGRectMake(50, 50, 50, 50))
bg.backgroundColor = UIColor.clearColor()
self.view.addSubview(bg)
self.view.sendSubviewToBack(bg)
答案 1 :(得分:0)
您可以设置矩形的背景颜色
class Background: UIView {
override func drawRect(rect: CGRect) {
UIColor.whiteColor().setFill()
UIRectFill(rect)
let path = UIBezierPath(ovalInRect: rect)
UIColor.greenColor().setFill()
path.fill()
}
}