0

我使用 移动视图CGAffineTransformTranslate,当我使用时NSlog: view.center.x,这个值在我移动时不会改变吗?但是我NSlog: view.frame.orgin.x,这个当前值总是在我移动的时候改变!那么,移动时如何获取当前值中心呢?

4

1 回答 1

7

你必须得到框架的中心。这可以相当容易地完成。

定义一个这样的函数:

CGPoint CGRectCenter(CGRect rect)
{
    return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
}

然后您可以通过以下方式获得视图的中心:

CGRectCenter(view.frame);

编辑:

我刚刚查看了property的文档frame,它说如果应用了转换,则 valueframe是未定义的。您可能会更好地使用view.layer.frame,因为 CALayer 的文档没有带有相同的警告。然而,我怀疑 UIView 方法只是调用 CALayer 方法,所以你可能没问题。

于 2012-12-09T13:29:30.817 回答