想让我的 UIScrollView 是无限的(就像日历中的日期)
Posted
技术标签:
【中文标题】想让我的 UIScrollView 是无限的(就像日历中的日期)【英文标题】:Want to make my UIScrollView be infinite (like dates in a calendar) 【发布时间】:2014-05-28 08:13:48 【问题描述】:我有一个这样的 UIScrollView:
self.view.backgroundColor = [UIColor redColor];
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 100)];
scroll.pagingEnabled = YES;
NSInteger numberOfViews = 3;
for (int i = 0; i < numberOfViews; i++)
CGFloat xOrigin = i * self.view.frame.size.width;
UIView *awesomeView = [[UIView alloc] initWithFrame:CGRectMake(xOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
awesomeView.backgroundColor = [UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
[scroll addSubview:awesomeView];
[scroll setShowsHorizontalScrollIndicator:NO];
scroll.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height);
[self.view addSubview:scroll];
这是我想要的正确手势,适用于有限的自定义子视图集,但是如何使 scollview 变为无限?
我希望子视图是日期,左右滑动会显示下一个或上一个日期。
【问题讨论】:
【参考方案1】:要么使用UIScrollViewDelegate
方法-(void)scrollViewDidScroll:(UIScrollView*)scrollView
并调整您的视图位置和滚动视图内容的偏移量,或者查看Apple 的示例,了解如何通过子类化UIScrollView
创建无限水平滚动视图:https://developer.apple.com/library/ios/samplecode/StreetScroller/
【讨论】:
以上是关于想让我的 UIScrollView 是无限的(就像日历中的日期)的主要内容,如果未能解决你的问题,请参考以下文章