简介
手机屏幕较小,当内容较多时要有滚动以便查看更多内容。比如‘微博’首页的上下滚动
基本使用
UIScrollView控件有一个外部Frame大小和位置
只有当设置了控件内部的内容大于外部Frame的时候才有滚动
控件内部的内容不能直接在属性面板中设置
要新建一个控件的属性,就是连线到代码中实现
在 DidLoad 中写代码
self.属性名称.contenSize = CGSizeMake(实际内容大小)
如果想禁止某个方向的滚动,那么久可以直接设置width或height的==0
self.属性名称.contenSize = CGSizeMake(0, 100)
常见属性
@property(nonatomic) CGPoint contentOffset;
内容与scrollView偏移了多少,内容左上角 与 scrollView左上角的差值
@property(nonotomic) CGSize contentSize;
实际滚动范围大小
@property(nonatomic) CGEdgeInsets contentInset;
UIImageView *imageView = [UIImageView alloc] initWithImage:[UIImage imageNamed:@"minion"];
[self.scrollView addSubview:imageView];
这句==创建了一个imageView图片、同时告诉了图片名称和图片大小。就是图片的本身大小
UIScrollView的代理(delegate)
- 监听滚动过程,当滚动到哪里 时而做的一些事情
- 代理 就是用来 监听的
- 监听要遵守
协议
常用属性
用户开始拖拽时,调用scrollViewWillBeginDragging:方法
具体滚动到某个位置时,调用scrollViewDidScroll:方法
用户停止拖拽时,
调用scrollViewDidEndDragging:willDecelerate:方法
分页
只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示
一般会配合UIPageControl增强分页效果,UIPageControl常用属性如下
一共有多少页
@property(nonatomic) NSInteger numberOfPages;
当前显示的页码
@property(nonatomic) NSInteger currentPage;
只有一页时,是否需要隐藏页码指示器
@property(nonatomic) BOOL hidesForSinglePage;
其他页码指示器的颜色
@property(nonatomic,retain) UIColor *pageIndicatorTintColor;
当前页码指示器的颜色
@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor;