Swift & NSBezierPath



使用我的应用程序时,我遇到了一些绘制内容的问题:

我想知道为什么,回到Obj-c, -moveToPoint()-lineToPoint()绘制的一切都没有问题,现在,与swift,一切似乎都一样,除了一个奇怪的边界出现在我的视图。让我解释一下:

想象你的任务是画一条从a(0,0)到B(10,10)的基本线

我们都知道如何在obj-c中这样做,但在swift中有一些对我来说是新的:

    var path : NSBezierPath = NSBezierPath(rect: dirtyRect)
    let color = NSColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)
    color.set()
    path.moveToPoint(NSPoint(x: 0,y: 0))
    path.lineToPoint(NSPoint(x: 10,y: 10))
    path.lineWidth = 5.0 //Makes the line 5px width, but it even
                         //creates an annoying border along the view
                         //Try it out, i can't figure out how to get rid of it
    path.stroke()

您正在使用rect初始化bezier路径,因此当您调用path.stroke()时,rect是路径的一部分。你可以将路径初始化为NSBezierPath()

我建议您不要使用NSBezierPath, NSColor, NSPoint,而应该分别使用更新后的UIBezierPath, UIColor, CGPoint

相关内容

  • 没有找到相关文章

最新更新