UIScrollView/滚动视图
1、滚动视图(UIScrollView)和表格视图(UITableView)是iOSUI阶段,最重要的两个控件。滚动视图本身不显示,或者只显示一个背景,主要负责子视图的滚动和翻页。是一个没有文字的TextView。多用于图片的显示,或者布局的更改(如,弹出键盘时,可以使用滚动视图,来操作布局向上滚动)
2、UIScrollView有两个子类,UITextView和UITableView
一.基本属性方法
1、创建准备
UIImage *image=[UIImage imageNamed:@"car4.jpg"];
UIImageView *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
image用的类方法创建的,当我们这个函数结束的时候,会自动release一次,如果把image给了imageView.image,imageView会自动保留计数,当imageView释放的时候,image也一起被释放消失
imageView.image=image;
[_scrollView addSubview:imageView];
[imageView release];
2、conentSize来控制我们滚动的范围
_scrollView.contentSize=image.size;
3、设置超出边界,bounces默认为YES(反弹效果)
_scrollView.bounces=NO;
4、设置水平方向滚动条,默认为YES(显示)
_scrollView.showsHorizontalScrollIndicator=YES;
5、设置垂直方向的滚动条,默认YES(显示)
_scrollView.showsVerticalScrollIndicator=YES;
6、设置滚动条的样式
_scrollView.indicatorStyle=UIScrollViewIndicatorStyleWhite;
UIScrollViewIndicatorStyleDefault, // black with white border. good against any background
UIScrollViewIndicatorStyleBlack, // black only. smaller. good against a white background
UIScrollViewIndicatorStyleWhite // white only. smaller. good against a black background
7、设置视图的边距
_scrollView.contentInset=UIEdgeInsetsMake(0, 0, 40, 40);
8、设置滚动条的边距
_scrollView.scrollIndicatorInsets=UIEdgeInsetsMake(0, 0, 40, 40);
9、控制翻页的属性,默认为NO,它滑动的是滚动视图的宽度,垂直方向的话是按照高度
_scrollView.pagingEnabled=NO;
10、禁止滚动,控制是否滚动,默认YES
_scrollView.scrollEnabled=YES;
11、控制松开手后滚动的速度,如果超出1,效果不明显
_scrollView.decelerationRate=1;
12、设置偏移量,contsize相对于scrollView左上角的坐标(CGPointZero为零偏移)CGPointMake
_scrollView.contentOffset=CGPointZero;
13、最大缩放系数
_scrollView.maximumZoomScale=2;
14、最小缩放系数
_scrollView.minimumZoomScale=0.5;
15、缩放参数
_scrollView.zoomScale=3;
二.协议方法
三、扩充:UIPageControl
UIPageControl类提供一行点来指示当前显示的是多页面视图的哪一页。当然,由于UIPageControl类可视样式的点击不太好操作,所以最好是确保再添加了可选择的导航选项,以便让页面控件看起来更像一个指示器,而不是一个控件。当用户界面需要按页面进行显示时,使用UIPageControl控件将要显示的用户界面内容分页进行显示会使编程工作变得快捷。
1、创建一个UIPageControl(.h已声明)
_pageControl=[[UIPageControl alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-100, self.view.frame.size.width, 40)];
2、设置背景颜色
_pageControl.backgroundColor=[UIColor blackColor];
3、设置正常颜色(也就是未被指示那些页的行点颜色)
_pageControl.pageIndicatorTintColor=[UIColor redColor];
4、表示当前页的指示点颜色
_pageControl.currentPageIndicatorTintColor=[UIColor blueColor];
5、指示点数量
_pageControl.numberOfPages=6;
6、添加UIPageControl
[self.view addSubview:_pageControl];