您的位置:首页 > 产品设计 > UI/UE

iOS之滚动视图UIScrollView

2015-11-04 00:00 447 查看
摘要: 对iOS的滚动视图做了一些简单使用说明,希望对大家学习iOS有点帮助,。如若是有误导地方及错误见解还希望指出,共同进步!!!

iOS之滚动视图:UIScrollView

UIScrollview

UIScrollView是可以滚动的view,UIView不能滚动,子类UIScrollView拓展了滚动和缩放的功能,UIScrollView是所有滚动视图的基类,UITableView和UITextView等视图都是继承该类,经常应用于相册,新闻头条。

[b]滚动:当内容大小 大于 frame.size的时候才可以滚动!!![/b]

滚动

1,创建
UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(50, 50, 300, 300)];
2,设置属性代理
scrollView.delegate = self;
3,定义内容区域大小,决定是否能够滑动,大于ScrollView的size才可以滑动
scrollView.contentSize = CGSizeMake(300 * 3 , 300);
4,内容偏移量
scrollView.contentOffset = CGPointMake(600, 0);// 内容偏移量 相当于往右移动300可简单理解为第一次打开显示scrollview的区域
5,给scrollView添加子视图
UIImageView *iconImage = [[UIImageView alloc]initWithFrame:CGRectMake(300,0,300,300)];iconImage.image = [UIImage imageNamed:"..."];[scrollView addSubViews:iconImage];
6,其他常用属性设置
scrollView.scrollEnabled = YES;//是否允许滑动,默认是YESscrollView.pagingEnabled = YES;//整屏滚动,默认是NOscrollView.showsHorizontalScrollIndicator = NO;//是否显示水平滚动条,默认是YESscrollView.bounces = NO;//默认是yes,设置成no关闭边界回弹
7,第2步给滚动scrollView设置了代理必须遵守协议UIScrollViewDelegate
@interface RootViewController () <UIScrollViewDelegate>
8, 重写协议里面的相关方法(1)一旦滚动立即触发(偏移量发生改变)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
(2)滑动开始减速的时候触发
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
(3)滑动结束的时候触发,也即不再发生有偏移量改变的时候
- (void)scrollViewWillEndDecelerating:(UIScrollView *)scrollView;
(4)滑动动画结束的时候触发
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
[b]缩放:必须设置代理,指定可以被缩放的视图[/b]

缩放

(1)创建之后设置代理
_scrollView = self;
(2)代理遵守UIScrollViewDelegate协议并实现必须实现的方法!!!
- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView   该方法必须重写并实现,指定能够进行缩放的视图
(3)其他属性最小缩放比例(必须指定)
_scrollView.minimumZoomScale
最大缩放比例(必须指定)
_scrollView.maximumZoomScale
(4)实现协议里面关于缩放的其他方法完成缩放放大的时候触发
- (void)scrollViewDidZoom:(UIScrollView *)scrollView NS_AVAILABLE_IOS(3_2)
指定某个UIScrolView的子视图可以被放大缩小
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView//UIScrolView里面只允许一个子视图可以被缩放,若是想要多个子视图被缩放,可在UIScrolView添加多个子UIScrolView
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息