UIScrollView

2016-02-21  本文已影响21人  画个完美句号

self.sv = [[UIScrollView alloc]initWithFrame:self.view.Frame];

self.sv.backgroundColor = [UIColor redColor];

[self.view addSubview:self.sv];

[_sv release];

滚动原因:空间大小限制了可显示的范围 如果想要显示更多的范围需要滚动

滚动条件:内容大小 》frame.size      能不能滚动由内容大小决定

self.sv.contentSize = CGSizeMake(375*6,667);

添加图片:

for(NSInteger i = 1;i <= 6;i++){

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(375*(i - 1),0,375,667)];

NSString *name = [NSString stringWithFormat:@"S%ld.jpg",i];

imageView.image = [UIImage imageNamed:name];

[self.sv addSubview:imageView];

[mageView releas];

}

滚到哪由偏移量决定:只要视图滚动 偏移量就会改变 反之 只要改变偏移量 视图就会滚动

sv.contentOffset = CGPiontMake(100,100);

内边距:

sv.contentInset = UIEdgeInsetsMake(100,200,300,400);

整页翻动:以当前滚动视图的宽度为一页

self.sv.pagingEnabled = YES;

边缘弹动效果:

self.sv.bounces = YES;

滚到顶部:每个滚动视图都默认为YES 一个页面中存在多个滚动视图时仅开启需要滚动的视图 其他滚动视图设置为NO;

self.sv.scrollsToTop = YES;

是否允许滚动

self.sv.scrollEnabled = YES;

滚动条是否隐藏

水平:self.sv.showsHorizontalScrollIndicator = NO;

垂直:self.sv.showsVerticalScrollIndicator = NO;

*********UIPageControl*****

UIPageControl *page = [[UIPageControl alloc]initWithFrame:CGRectMake(0,0,130,30)];

page.backgroundColor = [UIColor blackColor];

添加父视图:加在self.view保证视图滚动时 page依然存在

[self.view addSubview:page];

[page release];

page.numberOfPages = 6;

page.center = CGPointMake(self.view.center.x,667-50);

[page addTarget:self action:@selector(page:)forControlEvents:UIControlEventVventValueChanged];

page.tag = 1000;

视图的滚动分为两个阶段:

1.拖拽(手指在屏幕上)

2.减速(手指离开屏幕)

self.sv.delegate = self;

滚动视图功能为:滚动  缩放

最小比例

self.sv.minimumZomScale = 0.5;

最大比例

self.sv.maximumZoomScale = 2;

}

页码控制器 修改小圆点要放在结束减速的位置

-(void)scrollViewEndDecelerating:(UIScrollView *)scrollView{

UIPageControl *pc = [self.view viewWithTag:1000];

pc.currentPage = self.sv.contentOffset.x/375;

}

通过动画滚动:

-(void)page:(UIPageControl *)page{

[UIView animateWithDuration:1animations:^{

self.sv.contentOffset = CGPointMake(375*page.currentPage,0);

}];

}

上一篇下一篇

猜你喜欢

热点阅读