我有一个带有drawRect代码的CustomView,如下所示:
for var i = 0;我<米; ++我
{ // just draw lines UIColor.blackColor().setStroke() let line = UIBezierPath() line.moveToPoint(CGPoint(x: 0, y:0 + CGFloat(i) * cellWidth)) line.addLineToPoint(CGPoint(x: size.width, y:0 + CGFloat(i) * cellWidth)) line.closePath() line.stroke() }
在 scrollViewDidEndZooming 中,我正在尝试执行类似customView.setNeedsDisplay()的操作并重新绘制视图以使最后一个看起来不错,但结果会以这种方式显示(行具有不同的宽度):
如何做到这一点?
答案 0 :(得分:0)
** drawRect **是一种连续调用的重方法。通常认为在其中添加线条是一种不好的做法。
你得到这个的原因是多条线被绘制在同一个位置,所以看起来好像它们的宽度不同。
在 scrollViewDidEndZooming 内,检查滚动视图的内容偏移量,如果不是(0,0),请将其设置为CGPointZero。
希望这会有所帮助..