重置变形的UIView的原点会变成疯狂

时间:2009-06-26 08:18:05

标签: iphone uiview core-graphics

我使用[UIView transform:]旋转/缩放UIVIew,这很有效。但是,一旦我更改了视图的帧原点,即使我没有执行任何进一步的CGAffineTransforms,视图的内容也会开始“奇怪地”扩展。

为什么会这样?我该如何预防?

更新1:

文档表明在转换后框架无效。我可以通过它的'center'属性移动视图吗?

更新2:

设置视图中心确实允许我在应用转换后成功转换视图。

2 个答案:

答案 0 :(得分:3)

  

我可以通过它的'center'属性移动视图吗?

The documentationcenter属性定义为:

  

框架的中心。

并说:

  

中心在其超视图的坐标系中指定。

我试试。

答案 1 :(得分:1)

来自UIView docs

  

变换:

     

警告:如果此属性不是标识转换,则值为   frame属性未定义   因此应该被忽略。

中心属性只是一种方便的方法,可以真正重置帧的原点。

附加

编辑以回答评论:

如果您正在使用transform属性并希望重新定位视图,则必须使用以下方法将转换连接到转换:

view.transform = CGAffineTransformTranslate(view.transform, tx, tx);