Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa Swift&;NSBezierPath_Cocoa_Swift_Nsbezierpath - Fatal编程技术网

Cocoa Swift&;NSBezierPath

Cocoa Swift&;NSBezierPath,cocoa,swift,nsbezierpath,Cocoa,Swift,Nsbezierpath,使用我的应用程序时,我遇到了一些绘图方面的问题: 我想知道为什么回到Obj-c,-moveToPoint()和-lineToPoint()可以毫无问题地绘制所有内容,而现在,使用swift,所有内容看起来都一样,只是在我的视图上出现了一个奇怪的边框。让我解释清楚: 假设你的任务是从a(0,0)到B(10,10)画一条基本线 我们都知道如何在obj-c中做到这一点,但在swift中,我有了一些新东西: var path : NSBezierPath = NSBezierPath(rect:

使用我的应用程序时,我遇到了一些绘图方面的问题:

我想知道为什么回到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()

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

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

@FoxNos我看不出这会如何影响更改为swift等价物。尽管它们可能比其NS前辈更新,但UIBezierPath和UIColor不是“更新”版本。-它们是用于不同的平台的。@0x7fffffff哦,对不起,我也在学习Swift。那么这些只适用于iOS设备?@elito25没关系-正确。并不是所有的,但有相当多的以NS为前缀的OS X类在iOS上有(大致)相同的方法,并以“UI”为前缀,以将它们包含在UIKit框架中。它们不是更新的,只是根据平台的需要而变化。例如,NSColor在管理色彩空间方面有更多的功能。UIColor没有这些功能,因为iOS设备的屏幕变化要小得多,所以它不需要额外的颜色空间管理的复杂性。