我使用CGAffineTransformTranslate
移动视图,当我使用NSlog: view.center.x
时,移动时此值不会更改?但是我NSlog: view.frame.orgin.x
,当我移动时,这个当前值总会改变!那么,我搬家时如何获得当前价值中心?
答案 0 :(得分:7)
你必须得到框架的中心。这可以很容易地完成。
定义一个这样的函数:
CGPoint CGRectCenter(CGRect rect)
{
return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
}
然后你可以通过以下方式获得视图的中心:
CGRectCenter(view.frame);
编辑:
我只看了documentation for frame
property,并且如果已应用转换,则表示frame
的值未定义。使用view.layer.frame
可能会更好,因为CALayer的文档不会发出相同的警告。但我怀疑,UIView方法只是调用CALayer方法,所以你可能没问题。