Ios 如何在我的应用程序中使用UIPageControl?
我正在制作一个应用程序,我需要一些图像可以使用UIPageControl滚动。遗憾的是,我不知道如何使用UIPageControl或UIScrollView。如果您能链接到YouTube视频或苹果的Xcode文档,我们将不胜感激Ios 如何在我的应用程序中使用UIPageControl?,ios,uiscrollview,uipagecontrol,Ios,Uiscrollview,Uipagecontrol,我正在制作一个应用程序,我需要一些图像可以使用UIPageControl滚动。遗憾的是,我不知道如何使用UIPageControl或UIScrollView。如果您能链接到YouTube视频或苹果的Xcode文档,我们将不胜感激 提前谢谢 这里有一个代码可以帮助您 CGSize size = [[UIScreen mainScreen] bounds].size; CGFloat frameX = size.width; CGFloat frameY = size.height-30; /
提前谢谢 这里有一个代码可以帮助您
CGSize size = [[UIScreen mainScreen] bounds].size;
CGFloat frameX = size.width;
CGFloat frameY = size.height-30; //padding for UIpageControl
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(offsetX, offsetY, frameX, frameY)];
scrollView.pagingEnabled = YES;
scrollView.backgroundColor = [UIColor clearColor];
scrollView.contentSize = CGSizeMake(frameX, frameY);
[self.view addSubview: scrollView];
//假设在imageArray中有一个图像数组
for(int i = 0; i < [imageArray]; i++)
{
UIImage *image = [UIImage imageNamed:[imageArray objectAtIndex:i]];
imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(frameX * i, 0.0, frameX, frameY);
[scrollView addSubview:imageView];
}
scrollView.contentSize = CGSizeMake(frameX*[imageArray count], frameY);
其中pageControl是UIPageControl添加到viewcontroller底部的这是Ray Wenderlich团队关于如何设置分页滚动视图的一个非常好的教程: 苹果的文档中还有一个如何实现分页滚动视图的示例:
到也可能对您有用。滚动视图: ScrollView用于显示更多数量的视图/对象。我们可以通过水平或垂直滚动显示这些视图。 您可以处理缩放、平移、滚动等操作 您可以浏览其中一些教程 Scrollview的示例代码:
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width, self.view.frame.size.height)];
//This will create a scrollview of device screen frame
您可以通过以下方式启用滚动:
scroll.scrollEnabled = YES;
向scrollview添加3个视图的示例
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];
[awesomeView release];
}
// 3 views added horizontally to the scrollview by using xOrigin.
contentSize只是三个UIView宽度的总和,如果每个UIView的宽度为320,并且我们有三个UIView,则contentSize宽度将为920
[self.view addSubview:scroll];
[scroll release];
//Add scrollview to viewcontroller
页面控件:
页面控件向用户显示一组表示页面的水平点。当前页面显示为白点。用户可以从当前页面转到下一页或上一页
要启用分页,您需要添加
scroll.pagingEnabled = YES;
pageControl = [[UIPageControl alloc] init]; //SET a property of UIPageControl
pageControl.frame = CGRectMake(100,self.view.frame.size.height-100,self.view.frame.size.width-200,100);
pageControl.numberOfPages = 3; //as we added 3 diff views
pageControl.currentPage = 0;
添加scrollview的委托方法,实现滚动时的页面控制点
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x – pageWidth / 2 ) / pageWidth) + 1; //this provide you the page number
pageControl.currentPage = page;// this displays the white dot as current page
}
现在您可以看到scrollview的pagecontrol。希望你能理解。也参考这个
@CppiLove:请不要担心我没有编译代码。将出现语法错误,但我的目的是向您解释如何将UIScrollView与UIPageControl一起使用@Cintu的答案是正确的,但
pageControl
会产生页面设置的不良动画,最好是在ScrollViewDiEndDeceling
中设置currentPage
scroll.pagingEnabled = YES;
pageControl = [[UIPageControl alloc] init]; //SET a property of UIPageControl
pageControl.frame = CGRectMake(100,self.view.frame.size.height-100,self.view.frame.size.width-200,100);
pageControl.numberOfPages = 3; //as we added 3 diff views
pageControl.currentPage = 0;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x – pageWidth / 2 ) / pageWidth) + 1; //this provide you the page number
pageControl.currentPage = page;// this displays the white dot as current page
}