ios UIScrollView 循环滑动
2015-04-30 17:08
387 查看
1.普通分页滑动
myScrollView = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,0,320,460)];
[myScrollViewsetContentSize:CGSizeMake(pageWidth*3,460)];
[myScrollViewsetBackgroundColor:[UIColorscrollViewTexturedBackgroundColor]];
[myScrollViewsetPagingEnabled:YES];//当此属性设置为YES时,才能自动分页
[self.viewaddSubview:myScrollView];
2.循环滑动
实现UIScrollViewDelegate代理: [myScrollViewsetDelegate:self];
初始化时,myScrollView 置于中间: [myScrollView setContentOffset:CGPointMake(pageWidth, 0)]
滑动结束之后,回到中间: [myScrollViewsetContentOffset:CGPointMake(pageWidth,0)];
代理方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x <=0) {
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
if (scrollView.contentOffset.x >=2*pageWidth) {
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
[scrollView setContentOffset:CGPointMake(pageWidth,0)animated:YES];
}
3.加上图片查看效果
这两句的位置不能交换
[selfloadScrollViewSubViews];
[myScrollViewsetContentOffset:CGPointMake(pageWidth,0)];
- (void)loadScrollViewSubViews
{
imageView1 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"1.jpg"]];
imageView2 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"2.jpg"]];
imageView3 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"3.jpg"]];
[imageView1 setFrame:CGRectMake( 0,0, pageWidth,460)];
[imageView2 setFrame:CGRectMake( pageWidth,0,pageWidth,460)];
[imageView3 setFrame:CGRectMake(2*pageWidth,0,pageWidth,460)];
[myScrollView addSubview:imageView1];
[myScrollView addSubview:imageView2];
[myScrollView addSubview:imageView3];
}
4.循环效果并未出现,还要加上交换图片的代码
- (void)previousImageViewWithImage
{
UIImage * temp = [imageView1.imageretain];
imageView1.image =imageView2.image;
imageView2.image =imageView3.image;
imageView3.image = temp;
[temp release];
}
- (void)nextImageViewWithImage
{
UIImage * temp = [imageView3.imageretain];
imageView3.image =imageView2.image;
imageView2.image =imageView1.image;
imageView1.image = temp;
[temp release];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x <=0) {
currentImageCount--;
[selfpreviousImageViewWithImage];
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
if (scrollView.contentOffset.x >=2*pageWidth) {
currentImageCount++;
[selfnextImageViewWithImage];
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
}
myScrollView = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,0,320,460)];
[myScrollViewsetContentSize:CGSizeMake(pageWidth*3,460)];
[myScrollViewsetBackgroundColor:[UIColorscrollViewTexturedBackgroundColor]];
[myScrollViewsetPagingEnabled:YES];//当此属性设置为YES时,才能自动分页
[self.viewaddSubview:myScrollView];
2.循环滑动
实现UIScrollViewDelegate代理: [myScrollViewsetDelegate:self];
初始化时,myScrollView 置于中间: [myScrollView setContentOffset:CGPointMake(pageWidth, 0)]
滑动结束之后,回到中间: [myScrollViewsetContentOffset:CGPointMake(pageWidth,0)];
代理方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x <=0) {
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
if (scrollView.contentOffset.x >=2*pageWidth) {
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
[scrollView setContentOffset:CGPointMake(pageWidth,0)animated:YES];
}
3.加上图片查看效果
这两句的位置不能交换
[selfloadScrollViewSubViews];
[myScrollViewsetContentOffset:CGPointMake(pageWidth,0)];
- (void)loadScrollViewSubViews
{
imageView1 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"1.jpg"]];
imageView2 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"2.jpg"]];
imageView3 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"3.jpg"]];
[imageView1 setFrame:CGRectMake( 0,0, pageWidth,460)];
[imageView2 setFrame:CGRectMake( pageWidth,0,pageWidth,460)];
[imageView3 setFrame:CGRectMake(2*pageWidth,0,pageWidth,460)];
[myScrollView addSubview:imageView1];
[myScrollView addSubview:imageView2];
[myScrollView addSubview:imageView3];
}
4.循环效果并未出现,还要加上交换图片的代码
- (void)previousImageViewWithImage
{
UIImage * temp = [imageView1.imageretain];
imageView1.image =imageView2.image;
imageView2.image =imageView3.image;
imageView3.image = temp;
[temp release];
}
- (void)nextImageViewWithImage
{
UIImage * temp = [imageView3.imageretain];
imageView3.image =imageView2.image;
imageView2.image =imageView1.image;
imageView1.image = temp;
[temp release];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x <=0) {
currentImageCount--;
[selfpreviousImageViewWithImage];
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
if (scrollView.contentOffset.x >=2*pageWidth) {
currentImageCount++;
[selfnextImageViewWithImage];
[scrollView setContentOffset:CGPointMake(pageWidth,0)];
}
}
相关文章推荐
- iOS-实现UIScrollview的无限循环滑动(转载自Kenshin Cui's Blog)不过感觉快速滑动还是有缺陷啊
- ios UIScrollView 循环滑动
- ios UIScrollView 循环滑动
- ios UIScrollView 循环滑动 分类: ios开发 2015-01-29 17:22 138人阅读 评论(0) 收藏
- ios ----UIScrollview循环滑动
- ios UIScrollView 循环滑动
- iOS UIScrollView无法滑动/偏移的解决方法
- ios 中如何应对UIScrollView快速滑动(暴力用户,暴力测试)
- iOS xib创建UIScrollView不滑动问题解决
- iOS使用UIScrollView实现左右滑动UITableView和UICollectionView
- UIScrollView循环滑动
- iOS 编程 利用UIScrollView 编写无缝循环显示图片
- iOS UIScrollView 循环滚动(loop)
- iOS UITableView(UIScrollView)滑动到底部的判断
- iOS UITableView(UIScrollView)滑动到底部的判断
- iOS开发上下滑动UIScrollview隐藏或者显示导航栏的实例
- UIScrollView(滑动切换图片,图片的循环切换(自动))
- iOS UIScrollView 没有从顶部开始滑动
- iOS中UIScrollView嵌套UIImageView实现图片滑动浏览、缩放
- 『IOS』UIScrollView的滑动