swift 在Core Graphics中使用相同的笔画获得不同的线条

nc1teljy  于 5个月前  发布在  Swift
关注(0)|答案(1)|浏览(52)

我有一个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.frame.height大于superview.frame.height时:

不知道我做错了什么。

kqqjbcuj

kqqjbcuj1#

假设你的代码在draw(_ rect:CGRect)中,请记住rect将是不同的。你的path.Movepath.AddLine调用都引用了这个。你如何在超级视图中定位东西?AutoLayout还是Frames?

相关问题