iphone – 如何将UIScrollview与UIPagecontrol结合使用以显示不
发布时间:2020-12-14 17:36:27 所属栏目:百科 来源:网络整理
导读:我搜索并搜索了一个教程,但没有一个是我正在寻找的.我试过Apple的样本,但它只是颜色,我不知道如何使它的观点.我正在寻找的是一个屏幕,在显示页面控件时会翻页.每次滚动视图页面我希望它显示一个完全不同的按钮视图,很像iPhone的主屏幕.我发现下面的示例代码
我搜索并搜索了一个教程,但没有一个是我正在寻找的.我试过Apple的样本,但它只是颜色,我不知道如何使它的观点.我正在寻找的是一个屏幕,在显示页面控件时会翻页.每次滚动视图页面我希望它显示一个完全不同的按钮视图,很像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,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,1024); orangeView.backgroundColor = [UIColor colorWithRed:252.0/256 green:196.0/256 blue:131.1/256 alpha:1]; [scrollView addSubview:orangeView]; [orangeView release]; 请注意,我在每个视图的frame.origin中设置x值,以便它们彼此相邻.您还必须使用[scrollView setContentSize:CGSizeMake(1200,1024)]等设置UIScrollView的内容大小;所以它知道它的子视图有多大. 然后,如果您需要控制UIPageControl,您可以将其numberOfPages设置为2(对于上面的示例scrollview)并更改其currentPage属性.您可以通过实现scrollViewDidEndDecelerating:来实现这一点,这是UIScrollViewDelegate中的一个方法.您可以通过检查其contentOffset.x值来检查scrollview所在的“页面”. 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |