我使用[UIView transform:]旋转/缩放UIVIew,这很有效。但是,一旦我更改了视图的帧原点,即使我没有执行任何进一步的CGAffineTransforms,视图的内容也会开始“奇怪地”扩展。
为什么会这样?我该如何预防?
更新1:
文档表明在转换后框架无效。我可以通过它的'center'属性移动视图吗?
更新2:
设置视图中心确实允许我在应用转换后成功转换视图。
答案 0 :(得分:3)
答案 1 :(得分:1)
来自UIView docs:
变换:
警告:如果此属性不是标识转换,则值为 frame属性未定义 因此应该被忽略。
中心属性只是一种方便的方法,可以真正重置帧的原点。
附加编辑以回答评论:
如果您正在使用transform属性并希望重新定位视图,则必须使用以下方法将转换连接到转换:
view.transform = CGAffineTransformTranslate(view.transform, tx, tx);