【发布时间】:2014-02-25 05:20:47
【问题描述】:
我有一个独特的要求,将 UIView 的坐标原点设置为视图的中心。为了澄清,原点需要垂直和水平居中,以便向右移动是正的 X 值,向左移动是负的。对于 Y,移动到中心标记上方为正,下方为负。这与地理坐标基本相同,以本初子午线与赤道的交点为原点。
我什至不知道从哪里开始。任何人都可以提供一个提示吗?谢谢,V
【问题讨论】:
标签: ios objective-c uiview uiviewcontroller
我有一个独特的要求,将 UIView 的坐标原点设置为视图的中心。为了澄清,原点需要垂直和水平居中,以便向右移动是正的 X 值,向左移动是负的。对于 Y,移动到中心标记上方为正,下方为负。这与地理坐标基本相同,以本初子午线与赤道的交点为原点。
我什至不知道从哪里开始。任何人都可以提供一个提示吗?谢谢,V
【问题讨论】:
标签: ios objective-c uiview uiviewcontroller
将视图边界属性的原点设置为视图的中间,类似于:
CGRect bounds = view.frame;
bounds.origin.x = bounds.size.width / -2.;
bounds.origin.y = bounds.size.height / -2.;
view.bounds = bounds;
【讨论】:
-(bounds.size.width / 2),不是吗? :-)
您需要函数将正常坐标转换为奇怪,反之亦然。
例如你的 UIView 子类中的方法
- (CGPoint)normalToStrange:(CGPoint)normal
{
return CGPointMake(normal.x - self.width / 2, -normal.y + self.height / 2);
}
【讨论】: