Huỳ*_*ong 0 iphone transform frame nslog cgaffinetransform
我使用移动视图CGAffineTransformTranslate,当我使用时NSlog: view.center.x,移动时这个值不会改变吗?但我NSlog: view.frame.orgin.x,这个当前值总是在我移动时改变!那么,我搬家时如何获得当前价值中心?
你必须得到框架的中心.这可以很容易地完成.
定义这样的函数:
CGPoint CGRectCenter(CGRect rect)
{
return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过以下方式获得视图的中心:
CGRectCenter(view.frame);
Run Code Online (Sandbox Code Playgroud)
编辑:
我只是查看了frame属性的文档,并且frame如果应用了转换,则表示未定义的值.您可能会更好地使用view.layer.frame,因为CALayer的文档不会带有相同的警告.但我怀疑,UIView方法只是调用CALayer方法,所以你可能没问题.