【问题标题】:How to translate View width and height to CGpoint coordinates?如何将视图宽度和高度转换为 CGpoint 坐标?
【发布时间】:2017-03-15 18:22:22
【问题描述】:

我是使用 CGPoints 在 Swift 中移动对象的新手。我想知道您是否有一个宽度和高度为 320 的自定义视图,您如何能够在 CG 坐标系中找出它的约束。

例如,我有一个球对象。如果我设置

ball.center.y = CGFloat(390) //where 390 is some random point

那么y的中心在视图中的半点线上方一点。我知道 CGPoint 的左上角是 0,0 并且想知道在处理二维坐标时是否有标准坐标系。

【问题讨论】:

  • ball.center 和 ball.frame.origin 本身就是 CGPoints
  • 您能否详细说明您的具体问题是什么?你试过什么没用?
  • 我想根据手机的倾斜角度移动一个球,并将其中心倾斜 45 度。
  • @AshleyMills 所以当手机倾斜 45 度时,球应该在屏幕的中心。
  • 这听起来与您提出的问题完全不同。您的问题更像是“如何将 3D 空间中的设备位置转换为 2D 坐标?”

标签: ios swift xcode view core-motion


【解决方案1】:

您似乎正在寻找这份 Apple 文档……https://developer.apple.com/library/content/documentation/General/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html

默认坐标系的原点在绘图区域的左上角,正值从它向下和向右延伸。

如果您想将视图的中心定位在其父视图的中心......

let superview = view.superview!
view.center = CGPoint(x: superview.bounds.midX, y: superview.bounds.midY)

【讨论】:

  • 谢谢您,这是否有您之前提到的 3d 位置到 2d 坐标问题的参考列表?
  • 完全没有。你需要CMMotionManager 的姿态属性和一些三角函数!
猜你喜欢
  • 1970-01-01
  • 2017-01-19
  • 2012-05-22
  • 2018-01-25
  • 2011-06-27
  • 2010-10-11
  • 2012-01-04
  • 1970-01-01
  • 2015-09-30
相关资源
最近更新 更多