gpt4 book ai didi

iphone - iOS UIScrollView - 检测分页滑动 - 中间图标大其他图标小

转载 作者:行者123 更新时间:2023-12-01 19:23:55 25 4
gpt4 key购买 nike

我有一个总是显示三个项目的 ScrollView 。我需要中间的项目大,左边和右边的项目小。

我的问题是,如何检测分页滑动?我打算做的是每次 ScrollView 被“分页”时,我们检测它然后检查 ScrollView 中的所有项目 - 如果项目位于中间“框架”中,我们将其放大,否则将其变小。

我是最好的方法吗?

最佳答案

您需要在您的 UITableView 上有一个代表接受 scrollViewDidScroll:消息(或者可能 scrollViewDidEndDecelerating: ,取决于您的需要)。见 the UITableViewDelegate documentation .

我在 scrollViewDidScroll 里面做这种检查.我检查当前内容偏移量,如果由当前偏移量形成的矩形和 ScrollView 框架的大小与我的 ScrollView 页面之一适本地相交,那么我有 page更新。在这里,您可能希望根据它与当前内容偏移中心的接近程度成比例地缩放每个项目(这将为您的滚动条创建一个很好的停靠样式放大效果)。

编辑:因此,水平页面的滚动条中“项目”数组的假设未经测试的伪代码。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGPoint *currentOffset = scrollView.contentOffset;

for (UIView *item in itemsToDisplay)
{
// The location in the entire scroll view canvas at which
// we consider this item to "live"
CGPoint *naturalCentre = item.naturalCentre;

// How far from our desired point are we?
CGFloat scale = 100 - fabs(naturalCentre.x - contentOffset.x);
// Clamp this to positive values only, and normalize from 0.5 to 1
scale = 0.5 + (scale < 0 : 0 ? (scale / 200));

// Scale this view accordingly
item.layer.contentsScale = scale;
}
}

这是即兴的,需要大量的调试。

关于iphone - iOS UIScrollView - 检测分页滑动 - 中间图标大其他图标小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com