gpt4 book ai didi

ios - 管理 ScrollView 中只有一个元素的滚动

转载 作者:行者123 更新时间:2023-11-29 11:09:31 24 4
gpt4 key购买 nike

所以,我有一个上面有卡片的 ScrollView。 ScrollView 必须启用分页。

目标是用户必须能够滚动它,即使它只有一张卡片。由于我的 ScrollView 框架的宽度和高度与卡片图片的宽度和高度完全相同,因此我决定增加 ScrollView.contentSize 的宽度并向其添加一个点。

事实证明它工作正常,但有点小故障 - 当我将卡片向左拖动,然后再次捕获它时,它会向右移动一点点(我猜,因为那一点的值(value)) .如果我增加 contentSize,偏移量也会增加(例如,如果内容大小增加 10,偏移值也会增加 10 个点)。这真的让我很恼火,我想摆脱它。

关于如何做到这一点有什么建议吗?非常感谢您的帮助。

UPD:我尝试在 scrollViewDidEndDecelerating 中手动重新居中卡片,但这没有帮助。我现在的猜测是,可以通过将内容偏移量设置为正确的值来解决问题(因为现在它是 (0,0)),但我不知道该怎么做。

UPD2:这是我现在使用的一些代码:

calendarScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 334, 372)]; 
//The cards themselves are 334 points wide too
calendarScrollView.clipsToBounds = NO;
calendarScrollView.pagingEnabled = YES;
calendarScrollView.bounces = YES;
calendarScrollView.showsHorizontalScrollIndicator = NO;
calendarScrollView.delegate = self;

//This part is used in the cycle of creating the cards
for (...) {

...

if (onlyOneCard) {
calendarScrollView.contentSize = CGSizeMake(335, 372);
onlyOneCard = 0;
} else {
calendarScrollView.contentSize = CGSizeMake(334+offsetInScrollView, 372); //offsetInScrollView is increased by 334 by every end of the iteration of the cycle
}

...

}

最佳答案

您可以将 ScrollView 的 bounces 属性设置为 TRUE。

如果您超出了 ScrollView 的范围,它将始终弹回。 :)

关于ios - 管理 ScrollView 中只有一个元素的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149641/

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