1

我有一个 uiimageview 的子类,其中有一个按钮作为子视图。我添加了捏合手势以在 uiimageview 上应用缩放仿射变换,但是我不希望按钮(子视图)也被缩放。无论如何要从转换中排除按钮?据我所知,转换会相应地转换视图内的所有内容及其所有子视图。

4

3 回答 3

2

破解它的一种方法是向 UIView 添加一个类别以将转换应用于自身,同时将转换的反转*应用于所有子视图。

*CGAffineTransformInvert 会做你想做的事。

于 2012-06-12T09:14:56.473 回答
1

更改视图的视图层次结构,而不是将其buttons作为 uiimageview 的子对象,而是创建一个父亲UIView并将其添加到它UIImageViewUIButton 您的新层次结构将是这样的

UIView -> UIImageView
       -> UIButton

UIButton 将是 UIImageView 的兄弟而不是它的孩子,现在您可以应用任何转换UIImageView并且它不会影响UIButton

于 2012-06-12T04:37:22.337 回答
1

将转换应用到视图层

view.layer.transform = ...

于 2015-01-15T22:36:13.663 回答