4
這是我第一次遇到與drawRect有關的問題。我有一個簡單的UIView子類和一個要填充的路徑。一切安好。路徑得到正確填充,但無論如何,背景仍然是黑色的。我該怎麼辦?我的代碼如下:無法更改UIView背景顏色黑色
var color: UIColor = UIColor.red {didSet{setNeedsDisplay()}}
private var spaceshipBezierPath: UIBezierPath{
let path = UIBezierPath()
let roomFromTop: CGFloat = 10
let roomFromCenter: CGFloat = 7
path.move(to: CGPoint(x: bounds.minX, y: bounds.maxY))
path.addLine(to: CGPoint(x: bounds.minX, y: bounds.minY+roomFromTop))
path.addLine(to: CGPoint(x: bounds.midX-roomFromCenter, y: bounds.minY+roomFromTop))
path.addLine(to: CGPoint(x: bounds.midX-roomFromCenter, y: bounds.minY))
path.addLine(to: CGPoint(x: bounds.midX+roomFromCenter, y: bounds.minY))
path.addLine(to: CGPoint(x: bounds.midX+roomFromCenter, y: bounds.minY+roomFromTop))
path.addLine(to: CGPoint(x: bounds.maxX, y: bounds.minY+roomFromTop))
path.addLine(to: CGPoint(x: bounds.maxX, y: bounds.maxY))
path.addLine(to: CGPoint(x: bounds.minX, y: bounds.maxY))
return path
}
override func draw(_ rect: CGRect) {
color.setFill()
spaceshipBezierPath.fill()
}
我不知道,但也許()'在spaceshipBezierPath – Grifas
都能跟得上返回路徑之前添加'path.close。試過,但沒有奏效。謝謝你的幫助,雖然 –
@Nikhi Sridhar,我用你的代碼繪製矩形但是獲得顏色,在我看來你的紅色是藍色的,你的黑色是白色的。你想得到什麼效果? – aircraft