iOS:仅将仿射变换应用于子视图
Posted
技术标签:
【中文标题】iOS:仅将仿射变换应用于子视图【英文标题】:iOS : apply affine transform to subview only 【发布时间】:2013-02-13 10:11:48 【问题描述】:我有一个带有一个背景图像的视图父级,它缩放到整个父级视图。同样在 view-parent 我需要显示一些其他视图。所以当我对图像应用旋转时:
[self.backgroundView setTransform:CGAffineTransformMakeRotation((CGFloat) M_PI)];
它会旋转整个父视图 - 所以其他子视图也会旋转 180 度
那么,我怎样才能只对背景视图应用旋转而不影响其他视图呢?
【问题讨论】:
尝试把背景视图和里面的视图分开,这样当你旋转背景时,其他视图就不受影响了 不幸的是,这个方案对我来说并不可取,如果没有其他办法,我可能会改变一些以前的架构设计方案 还有另一种方式,但不是首选,当您旋转背景视图时,您可以以相同的速度和相反的方向旋转子视图,它看起来就像它不动。这是一个虚拟的解决方案,但可以工作 【参考方案1】:听起来你的 backgroundView 有子视图,显然会用父视图进行转换,这是设计使然。您需要做的是让您的其他视图成为您的背景视图的兄弟。确保将子视图添加到 backgroundView 的超级视图,而不是 backgroundView 本身。
【讨论】:
其实我做错了,但错误不在这里。感谢您的回复-我更仔细地检查所有并找到解决方案...以上是关于iOS:仅将仿射变换应用于子视图的主要内容,如果未能解决你的问题,请参考以下文章