我有一个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时:
不知道我做错了什么。
1条答案
按热度按时间kqqjbcuj1#
假设你的代码在draw(_ rect:CGRect)中,请记住rect将是不同的。你的path.Move和path.AddLine调用都引用了这个。你如何在超级视图中定位东西?AutoLayout还是Frames?