我想创建一个包含三个常量视图的UIScrollView
。最初应始终显示中间视图。当用户向右滚动时,View 1将成为活动视图,其他两个视图将移动,就好像有一个循环:View 3现在位于左侧,View 2位于右侧。附图解释了我想要的内容:
这可能吗?
答案 0 :(得分:4)
仅限3页
有时您可能需要无限页面循环,但不想要 加载很多内容。例如,你可能有很多 要在UIScrollView中显示的内容。装载大量的 数据不是理想的处理方法。
逻辑 我们可以使用的是将UIScrollView保持在三页。 数据将加载到每个页面上,用户将始终关注 中间页面中的数据。当用户滚动到新页面时, 将重置每个页面的内容,并且偏移量将返回 用户返回查看中间页面。那样即使你可能 有大量的数据要滚动,它不是全部加载的 一旦。一次只加载三页。
......取自http://iosdevelopertips.com/user-interface/creating-circular-and-infinite-uiscrollviews.html
答案 1 :(得分:0)
连续滚动查看5个视图。将第一个视图视图3设置为下一个1,2,3,1。在您想要的位置启动Scrollview。
答案 2 :(得分:-1)
非常可能。您可以继承UIScrollView
并在其- (id)init
方法中删除类似的内容。
int numberOfPages = 3;
// For ease in referencing sizes
CGFloat portalHeight = self.frame.size.height;
CGFloat portalWidth = self.frame.size.width;
self.contentSize = CGSizeMake(self.frame.size.width * numberOf Pages, self.frame.size.height);
self.contentOffset = CGPointZero;
// Needed to lock scrolling to pages
self.pagingEnabled = YES;
// Setup pages
for (NSUInteger i = 0; i < numberOfPages; i++) {
// Add subviews here
}
编辑:我可能不完全理解你的问题。它们应该是一个可以不断循环的“旋转木马”吗?
答案 3 :(得分:-1)
scroll3.contentOffset = CGPointMake(scroll3.frame.size.width * 2,0;)