如何在移动时调整 UIView 的大小,就像 SnapGuide 一样?
Posted
技术标签:
【中文标题】如何在移动时调整 UIView 的大小,就像 SnapGuide 一样?【英文标题】:How to resize UIView while moving, just like SnapGuide? 【发布时间】:2012-12-22 07:15:03 【问题描述】:我有一个滚动视图,它有几个向用户显示信息的 UIView。此滚动视图仅支持水平滚动,当用户开始从左到右或反之亦然滚动时,中心视图应该更大,上一个和下一个视图应该更小(如下图所示)。
我可以通过更改出现在滚动视图上的所有视图的框架来做到这一点。但动画并不流畅。我只想在滚动时根据它们的位置调整视图的大小。有没有办法做到这一点?非常感谢任何帮助。
【问题讨论】:
【参考方案1】:你可以看看这些链接
UIScrollview make the current Image Larger
或者我可以通过 iCarousel 为您提供更好的解决方案。请参考它,我认为这可能会对您有所帮助,而且它也很容易集成:)
【讨论】:
完美,多年来我一直在寻找相同的东西。 BTW,你知道如何降低 Carousel 的速度吗? 是的,为什么不呢,你为什么不去看看 iCarousel 方法的文档呢,各种方法都有,特别是减速的方法:)..【参考方案2】:这可能就是您正在寻找的CGAffineTransformScale。你需要设置你的 UIViews 转换属性,例如
CGAffineTransform transformRatio = CGAffineTransformScale(CGAffineTransformIdentity, factorX, factorY);
myView.transform = transformRatio;
factorX 和 factorY 是缩放视图宽度和高度的值。 当您的视图开始滚动进出时您需要设置相应的因素。
【讨论】:
以上是关于如何在移动时调整 UIView 的大小,就像 SnapGuide 一样?的主要内容,如果未能解决你的问题,请参考以下文章