迅速。 CoreGraphics,addRects和fillPath仅填充1个矩形

时间:2019-04-10 14:25:35

标签: ios swift core-graphics

因此,我正在遵循Objective-C中的教程,并且我正在使用Swift做同样的事情。

我的代码仅填充1个矩形,我希望它填充3个。

let context = UIGraphicsGetCurrentContext()
let rects = [CGRect(x: 100, y: 100, width: 100, height: 100),
             CGRect(x: 300, y: 300, width: 100, height: 100),
             CGRect(x: 500, y: 500, width: 100, height: 100)]

context?.setFillColor(UIColor.red.cgColor)
context?.addRects(rects)
context?.fillPath()

有效的教程代码(objc):

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor red].CGColor);
CGContextAddRect(context, CGRectMake(100, 100, 100, 100);
CGContextAddRect(context, CGRectMake(200, 200, 100, 100);
CGContextAddRect(context, CGRectMake(300, 300, 100, 100);
CGContextFillPath(context)

有什么我想念的吗?而且,我可以打电话给context?.addRects(rects)context!.addRects(rects),它们都可以使用,我应该使用哪一个?

P.S。 这是我的print(context?.path)

  moveto (100, 100)
    lineto (200, 100)
    lineto (200, 200)
    lineto (100, 200)
    closepath
  moveto (300, 300)
    lineto (400, 300)
    lineto (400, 400)
    lineto (300, 400)
    closepath
  moveto (500, 500)
    lineto (600, 500)
    lineto (600, 600)
    lineto (500, 600)
    closepath

0 个答案:

没有答案