草庐IT

ios - iOS 8.1 不再允许 CGPoint stringliteral

在iOS8.0中我有这个枚举:enumDirection:CGPoint{caseTop="{0,-1}"caseRight="{1,0}"caseDown="{0,1}"caseLeft="{-1,0}"caseTopLeft="{-1,-1}"caseTopRight="{1,-1}"caseDownLeft="{-1,1}"caseDownRight="{1,1}"caseNone="{0,0}"}extensionCGPoint:StringLiteralConvertible{publicstaticfuncconvertFromStringLiteral(value:Str

swift - 使用 Swift 的 POPSpringAnimation toValue CGPoint 错误

我在使用POP动画框架和Swift的CGPoints上遇到了一个奇怪的错误我一直使用Objective-C和Pop来制作动画,但现在我正在尝试使用Swift做同样的事情,当我尝试运行下一个代码时,它会死掉并出现以下错误:Terminatingappdue未捕获的异常“无效值”,原因:“NSPoint:{100,20}应该是int类型”然后我尝试只使用一个Int值来完成它并且它可以工作但只是为X轴设置动画并将Y轴保留为0。funcinteract(){varspAn=POPSpringAnimation(propertyNamed:kPOPViewCenter)spAn.velocity

ios - Swift:如何将字符串列表转换为 CGPoint 列表?

我是Swift的新手,没有在网上找到任何东西。如何转换以这种方式格式化的字符串:letstr:String="0,0624,0624,-48672,-48672,192"到CGPoint的数组? 最佳答案 本方案使用iOS提供的CGPointFromString函数。importUIKitletres=str.components(separatedBy:"").map{CGPointFromString("{\($0)}")} 关于ios-Swift:如何将字符串列表转换为CGPoin

swift - 是否有任何简写方式来编写 CGPoint、CGRect 等?

在Swift3.0中,我们现在像这样声明CGPoints:CGPoint(x:1.0,y:0.0)这,呃……有点冗长。当您编写一个将CGPoint作为参数的函数时,事情很快就会变得很糟糕:myObject.callMyFunc(someVar:1,point1:CGPoint(x:1.0,y:0.0),point2:CGPoint(x:1.0,y:2.0))CGPoint和CGRect等结构体有简写形式吗? 最佳答案 正如评论中已经建议的那样,您可以创建自己的扩展。扩展您可以添加一个接受2个CGFloat(s)并且不需要外部参数名称

swift - CGPoint 到线段的最短距离

我一直在尝试实现Douglas-Peuckeralgorithm到我的代码中,我能够将伪代码转换为Swift,shortestDistanceToSegment函数除外。只有我能找到的Swift版本得到了回答here但我不明白那实际上是做什么的。我需要一个函数,它获取三个点作为参数(点和线的两端)并返回CGPoint和线段之间的最短距离。关于代码做什么(以及为什么)的一些解释会很好,但不是必需的。 最佳答案 来自https://stackoverflow.com/a/27737081/535275的回答w/变量重命名并添加了一些注释

ios - 在 CABasicAnimation 中使用 #keyPath 时,类型 'CGPoint' 没有成员 'x'

我正在尝试使用#keyPath语法来获取CALayer属性来为其设置动画:letmyAnimation=CABasicAnimation.init(keyPath:#keyPath(CALayer.position.x))我收到以下错误:Type'CGPoint'hasnomember'x'我错过了什么? 最佳答案 #keyPath指令需要一个Objective-C属性序列作为争论。CALayer继承自NSObject,但是它的位置property是structCGPoint,它根本不是一个类,不能与键值编码一起使用。但是,CALa

ios - 如何计算不接触 UIView 的随机 CGPoint

这是一个示例View:我想计算一个带有CGPoint的帧,我可以在其中生成另一张卡片(UIView)而无需触及任何现有卡片。当然它是可选的,因为View可以充满卡片,因此没有空闲位置。这就是我如何在屏幕上看到任何卡片以及我现在的功能:funcfreeSpotCalculator()->CGPoint?{vartakenSpots=[CGPoint]()forcardinplayableCards{takenSpots.append(card.center)}}我不知道从哪里开始以及如何计算屏幕上的随机CGPoint。随机帧与屏幕上的卡片具有相同的宽度和高度。

swift - 围绕另一个 CGPoint 旋转一个 CGPoint

好的,我想将CGPoint(A)围绕CGPoint(B)旋转50度,有什么好的方法吗?CGPoint(A)=CGPoint(x:50,y:100)CGPoint(B)=CGPoint(x:50,y:0)这是我想做的: 最佳答案 这真是一道数学题。在Swift中,你想要这样的东西:funcrotatePoint(target:CGPoint,aroundOriginorigin:CGPoint,byDegrees:CGFloat)->CGPoint{letdx=target.x-origin.xletdy=target.y-origi

ios - 检测 CGPoint 是否在正方形(菱形)内的问题

我有2个SKSpriteNode:一个简单的正方形(A)旋转(-45°)(B)的同一个正方形我需要随时检查另一个SKSpriteNode(一个球)的中心是否在这些方block之一内。球和方block具有相同的父级(主场景)。overridefuncupdate(_currentTime:TimeInterval){letspriteArray=self.nodes(at:ball.position)letarr=spriteArray.filter{$0.name=="square"}forsquareinarr{print(square.letter)if(square.contai

iphone - 在与中心点成给定角度的直线相交的 UIView 矩形上找到 CGPoint

在iOS中,我试图确定一个矩形上的点,该点与从中心点到矩形周边的假想线以预定角度相交。假设我知道中心点、矩形的大小和角度(从东边的0度开始,逆时针方向经过北边的90度、西边的180度和南边的270度,再到东边的360度)。我需要知道相交点的坐标。在Findingpointsonarectangleatagivenangle上的(对我而言)有点令人困惑的数学但大概是准确的答案让我尝试下面的代码,但它不能正常工作。这个问题与那个问题类似,但我正在寻找一种更正的Objective-C/iOS方法,而不是一般的数学响应。我认为部分代码问题与使用单个0到360度角(以弧度表示,不可能为负数)输入