iOS坐标系(三角函数)
你好,世界…!! 通过了解Trigonometry的iOS坐标系开始我的第一个博客。 希望初学者对如何使用适当的坐标定位视图有清晰的认识。
首先给我一些介绍。 我从iOS开发开始了我的职业生涯,现在我仍然在从事。 我正在与一家印度(孟加拉)IT公司合作。
数学让生活变得轻松
我完全相信,如果您正在编程,那么您必须精通基础数学,如果您还没有,并开始了程序员的职业,那么从第1天开始,就应该以各种可能的方式将数学计算包括在您的代码中,这是一种实践。向您介绍如何在iOS坐标系中使用三角计算以完美地将视图放置在正确的位置。
现在让我们集中精力……
在该图中,您可以看到如何定义普通坐标系,这是我们在学校和大学中曾教过的,以及x和y位置相对于左下角的原点(0,0)如何增加或减少。
在下图中,您可以轻松了解iOS中的坐标轴是如何变化的, 原点(0,0)位于左上角,而x和y位置分别增加到左和下,分别覆盖了屏幕区域。
啊哈! 那很简单,不是吗? 但是请记住,在处理CoreGraphics类时,此坐标系在iOS中会再次更改。
现在,让我们继续前进,着手编写代码。 为此,从GitHub下载示例项目 这将使您更好地理解。
示例项目链接: https : //github.com/PriyamDutta/PDFloraButton
这些代码以swift 3.0编写,用于将浮动按钮相对于中心按钮放置在屏幕的不同位置。
转到PDFloraButton.swift文件。
预定义的位置如下:
在旁边的图中,您可以看到子按钮如何围绕它们各自的主按钮排列,并保持相等的间距。
我们要记住的是角度和起点。 跟随下面……
现在您可以在图中看到必须均匀放置按钮。
因此,您必须在子按钮之间平均分配角度。
不用担心,我们会在一段时间内非常轻松地完成此操作。 但是首先,我们有一个转移原点的小障碍。
改变原点震惊……?
并非如此,您只是为了简化工作而将每个主按钮的中心点视为原点。 怎么样…??
对于任何圆,您都有中心点和半径 。 在此, 主按钮中心将是具有静态半径的 中心点 ,该半径将决定子按钮与主按钮之间的距离。 在这里,变量anchorPoint将成为中心点。
私人让步半径:CGFloat = 100.0
私人让球周长:CGFloat = 360.0
私人var度:CGFloat = 0.0
私人var anchorPoint:CGPoint!
注意:在玩角度游戏之前,总有一种将 度数 转换 为 弧度的方法 。
func getRadian(degree:CGFloat)-> CGFloat {
返回CGFloat(度* .pi / 180)
}
现在,这里是子按钮x和y位置的三角计算,这将是每个子按钮的最终中心点。
如此简单,只需一点点计算,您只需更改角度即可轻松获得圆的圆周上的任何点。
现在,为了方便起见,您需要对代码进行一些修改。 您将获得的点x和y坐标将相对于原点(0,0)。 因此,现在,您必须将各自平移的x和y添加到计算的点。
item.center = CGPoint(x:self.anchorPoint.x +(self.radius * cos(self.degree)),y:self.anchorPoint.y +(self.radius * sin(self.degree))))
是的……您已经学习了如何使用具有三角学基础知识的坐标进行游戏。