iOS中如何控制两个View之间的缩放关系?

在ViewController上添加一个ScrollerView,ScrollerView上添加一个底图imageView1,imageView1上添加一个子imageView2,我在image1上添加放大的动画,问题出现了:image2也会跟着image2同时放大,我希望的是怎么让image2不跟着image1放大。我想过方法是把image2直接添加到viewController上,但是这种方式不可行,因为image1和image2要随着scrollerView上下滚动做添加释放的管理。

阅读 4.1k
2 个回答

不知道你的放大动画是怎么写的,如果是改transform的话倒是很有可能这样,可以尝试只改 frame。

如果只是改 frame,不知道还会不会发生这个结果,因为我从来没试过给 imageView 添加子 view。一般来说都不会这么做的。

我觉得你说的『把image2直接添加到viewController上』这个思路是正确的。后面说的『随着scrollerView上下滚动做添加释放的管理』不知道是什么意思,所谓『添加释放的管理』一般都是用 tableView 重用 cell 做啊。

如果确实一定要你自己做的话,可以把 imageView1 和 imageView2 套在一个外层 view 里。放大的时候就放大 外层 view,让 imageView1 随父 view 放大,imageView2 不随父 view 放大就可以了。这样你『添加释放的管理』只做外层 view 就可以。

直接改frame从我这里的业务逻辑上是不符合要求的,排除,确实在imageView上添加子View确实是不太合理。我尝试在底下添加了个View作为容器,把imageView1和imageView2都添加在上面,这样是符合要求可行的。这里处理好了,我的其它翻转类型的动画就出现异常,不见了或者显示半边、闪烁。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题