在Core Graphics中获得具有相同笔划的不同线条

时间:2016-12-02 21:35:33

标签: ios swift graphics core

我有一个UIView子类。

以下是我重写draw方法的方法:

let path = UIBezierPath()
path.lineWidth = 1
path.move(to: CGPoint(x: rect.minX, y: rect.minY+1))
path.addLine(to: CGPoint(x: rect.maxX, y: rect.minY+1))
UIColor.lightGray.setStroke()
path.stroke()
path.close()

但是视图呈现时线条看起来不同。 特别地,

当view.frame.height小于superview.frame.height时: view < superview

当view.frame.height大于superview.frame.height时: view > superview

无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:1)

假设您的代码位于 draw(_ rect:CGRect)中,请记住rect将是不同的。你的 path.Move path.AddLine 调用都会引用这个。你如何在superview中定位东西? AutoLayout还是Frames?