重置转化的UIView的起源下降到疯狂(Resetting the origin of a tran

2019-07-29 07:18发布

我旋转/缩放使用的UIView [UIView的变换:]和这个效果很好。 然而,当我改变视图的框架原点的视图的内容开始规模“古怪”即使我没有进行任何进一步的CGAffineTransforms。

为什么会发生这种情况? 我该如何预防呢?

更新1:

该文档显示,该框架是变换后无效。 我可以移动视图通过它的“中心”属性来代替?

更新2:

设置视图中心确实让我翻译一个变换已应用成功后视图。

Answer 1:

我可以移动视图通过它的“中心”属性来代替?

该文档定义了center属性为:

该帧的中心。

并说:

该中心它的父的坐标系中指定的。

我想尝试它。



Answer 2:

从UIView的文档 :

转变:

警告:如果此属性不是恒等变换,框架属性的值是不确定的,因此应被忽略。

该中心的性质仅仅是一个方便的方法,真正将复位帧的原点。

编辑:附加回答评论:

如果您使用的变换属性和要重新定位你的观点,你要翻译串联到您的转换使用:

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


文章来源: Resetting the origin of a transformed UIView descends into craziness