我有一个滚动视图,它有几个向用户显示信息的 UIView。此滚动视图仅支持水平滚动,当用户开始从左到右滚动或反之亦然时,中心视图应该更大,上一个和下一个视图应该更小(如下图所示)。
我可以通过更改出现在滚动视图上的所有视图的框架来做到这一点。但是动画并不流畅。我只想在滚动时根据它们的位置调整视图的大小。有没有办法做到这一点?非常感谢任何帮助。
我有一个滚动视图,它有几个向用户显示信息的 UIView。此滚动视图仅支持水平滚动,当用户开始从左到右滚动或反之亦然时,中心视图应该更大,上一个和下一个视图应该更小(如下图所示)。
我可以通过更改出现在滚动视图上的所有视图的框架来做到这一点。但是动画并不流畅。我只想在滚动时根据它们的位置调整视图的大小。有没有办法做到这一点?非常感谢任何帮助。
这可能是您正在寻找的CGAffineTransformScale。例如,您需要设置 UIViews 转换属性
CGAffineTransform transformRatio = CGAffineTransformScale(CGAffineTransformIdentity, factorX, factorY);
myView.transform = transformRatio;
factorX和factorY是缩放视图宽度和高度的值。当您查看开始滚动进出时,您需要设置相应的因素。