【问题标题】:Centering coordinate origin of UIViewUIView的居中坐标原点
【发布时间】:2014-02-25 05:20:47
【问题描述】:

我有一个独特的要求,将 UIView 的坐标原点设置为视图的中心。为了澄清,原点需要垂直和水平居中,以便向右移动是正的 X 值,向左移动是负的。对于 Y,移动到中心标记上方为正,下方为负。这与地理坐标基本相同,以本初子午线与赤道的交点为原点。

我什至不知道从哪里开始。任何人都可以提供一个提示吗?谢谢,V

【问题讨论】:

    标签: ios objective-c uiview uiviewcontroller


    【解决方案1】:

    将视图边界属性的原点设置为视图的中间,类似于:

    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),不是吗? :-)
    • 是的,你是正确的 Leo,两个原点都应该是 -size/2 而不是 size/2 :)
    【解决方案2】:

    您需要函数将正常坐标转换为奇怪,反之亦然。

    例如你的 UIView 子类中的方法

    - (CGPoint)normalToStrange:(CGPoint)normal
    {
        return CGPointMake(normal.x - self.width / 2, -normal.y + self.height / 2);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 2020-09-09
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多