所以我想在事前和事后做到这样的事情:
http://demosthenes.info/blog/819/A-Before-And-After-Image-Comparison-Slide-Control-in-HTML5
我目前拥有此层次结构(按此顺序添加,我已使用ID标记它们,以便更容易理解):
UIView (1)
UIImageView (2)
UIView (3)
UIImageView (4)
现在顶级UIView附加了UIPanGestureRecognizer。我的想法是在识别出平移手势时调整包含UIImageView的第二个UIView(3)的大小。换句话说,我将移动UIView(3)的x位置,因此隐藏包含UIImageView(4)以显示其后面的图像(2),从而实现所需的效果。它运行得相当好,因为它确实调整了大小但是包含的UIImageView(4)没有调整大小,而是随着调整大小的UIView(3)的x位置移动(锚定在(0,0))或它只是漂浮在一切之上。我已经尝试更改UIView(3)和autoresizeMask / contentMode的autoresizeSubviews,但没有真正有效。
换句话说,如何在不移动或调整子视图大小的情况下调整容器大小?
我做错了什么?不确定这种方法是否最好。如果您有更好的方法来做前后事,请分享!
答案 0 :(得分:0)
我会改变你目前的结构:
要实现您想要的效果,请将布局约束附加到UIImageView(3)的右侧。使用UIPanGestureRecognizer修改约束。 另外,在界面构建器中将UIImageView(2)和UIImageView(3)的视图模式设置为“左上角”。这应该够了吧。那就是你要修改UIImageView(3)的大小以显示图像。