我已经搜索并搜索了这方面的教程,但没有一个是我正在寻找的。我尝试过苹果的示例,但它只是颜色,我不知道如何使其成为视图。我所寻找的只是一个可以在显示页面控件的同时进行分页的屏幕。每次滚动视图页面时,我希望它显示带有按钮的完全不同的视图,很像 iPhone 的主屏幕。我发现下面的示例代码仅适用于图像,但我想修改为使用单独的视图。请帮忙!谢谢。
- (void)setupPage {
scrollView.delegate = self;
[self.scrollView setBackgroundColor:[UIColor clearColor]];
[scrollView setCanCancelContentTouches:NO];
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.clipsToBounds = YES;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;
NSUInteger nimages = 0;
CGFloat cx = 0;
for (; ; nimages++) {
NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", (nimages + 1)];
UIImage *image = [UIImage imageNamed:imageName];
if (image == nil) {
break;
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGRect rect = imageView.frame;
rect.size.height = image.size.height;
rect.size.width = image.size.width;
rect.origin.x = ((scrollView.frame.size.width - image.size.width) / 2) + cx;
rect.origin.y = ((scrollView.frame.size.height - image.size.height) / 2);
imageView.frame = rect;
[scrollView addSubview:imageView];
[imageView release];
cx += scrollView.frame.size.width;
}
self.pageControl.numberOfPages = nimages;
[scrollView setContentSize:CGSizeMake(cx, [scrollView bounds].size.height)];
}
前几天我正在尝试这个。我还在习惯使用UIScrollView
但您可以通过以下方式将视图添加到您的UIScrollView
:
UIView *blueView = [[UIView alloc] init];
blueView.frame = CGRectMake(100, 0, 500, 1024);
blueView.backgroundColor = [UIColor colorWithRed:164.0/256 green:176.0/256 blue:224.0/256 alpha:1];
[scrollView addSubview:blueView];
[blueView release];
UIView *orangeView = [[UIView alloc] init];
orangeView.frame = CGRectMake(700, 0, 500, 1024);
orangeView.backgroundColor = [UIColor colorWithRed:252.0/256 green:196.0/256 blue:131.1/256 alpha:1];
[scrollView addSubview:orangeView];
[orangeView release];
请注意,我正在设置x
值在frame.origin
每个视图,以便它们彼此相邻。您还必须设置内容的大小UIScrollView
与类似的东西[scrollView setContentSize:CGSizeMake(1200, 1024)];
这样它就知道它的子视图有多大。
然后,如果您需要控制UIPageControl
,你可以设置它的numberOfPages
到 2(对于上面的示例滚动视图)并更改其currentPage
财产。你可以通过实施来做到这一点scrollViewDidEndDecelerating:
,这是一个方法UIScrollViewDelegate
。您可以通过检查滚动视图位于哪个“页面”contentOffset.x
value.
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)