设为首页 加入收藏

TOP

ios开发UI篇—UIScrollView属性及其代理方法(一)
2019-08-26 07:00:09 】 浏览:57
Tags:ios 开发 UI篇 UIScrollView 属性 及其 代理 方法

一、UIScrollView是什么?

1、UIScrollView是滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能。
2、UIScrollView是所有滚动视图的基类。以后的UITableView,UITextView等视图都是继承于该类。
使用场景:显示不下(单张大图);内容太多(图文混排);滚动头条(图片);相册等

二、UIScrollView使用

1、UIScrollview主要专长于两个方面:
a、滚动:contentSize大于frame.size的时候,能够滚动。
b、 缩放:自带缩放,可以指定缩放倍数。
2、UIScrollView滚动相关属性contentSize
 //定义内容区域大小,决定是否能够滑动
contentOffset    //视图左上角距离坐标原点的偏移量
scrollsToTop      //滑动到顶部(点状态条的时候)
pagingEnabled   //是否整屏翻动
bounces           //边界是否回弹
scrollEnabled     //是否能够滚动
showsHorizontalScrollIndicator //控制是否显示水平方向的滚动条
showVerticalScrollIndicator       //控制是否显示垂直方向的滚动条
alwaysBounceVertical           //控制垂直方向遇到边框是否反弹
alwaysBounceHorizontal       //控制水平方向遇到边框是否反弹
3、UIScrollView缩放相关属性
minimumZoomScale  //  缩小的最小比例
maximumZoomScale   //放大的最大比例
zoomScale                  //设置变化比例
zooming                      //判断是否正在进行缩放反弹
bouncesZoom             //控制缩放的时候是否会反弹
要实现缩放,还需要实现delegate,指定缩放的视图是谁。
4.UIScrollView滚动实例应用
- (void)scrollView{
    // 创建滚动视图,但我们现实的屏幕超过一屏时,就需要滚动视图
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
    scrollView.backgroundColor = [UIColor yellowColor];
    scrollView.tag = 1000;
    // 设置滚动区域
    scrollView.contentSize = CGSizeMake(4 * CGRectGetWidth(self.view.frame), self.view.frame.size.height);
    [self.view addSubview:scrollView];
    // 添加子视图
    for (int i = 0; i < 4; i ++) {
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetWidth(self.view.frame) * i, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame))];
        label.text = [NSString stringWithFormat:@"这是%d个视图",i];
        label.font = [UIFont systemFontOfSize:30];
        [scrollView addSubview:label];
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]]]; // (有四张片分别取名0.jpg,1.jpg,2.jpg.3.jpg)
        [imageView setFrame:self.view.frame];
        [label addSubview:imageView];

//        label.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:
//            arc4random()%256/255.0  blue:arc4random()%256/255.0  alpha:1];
        
    }
    // 设置分页效果 (默认值为NO)
    scrollView.pagingEnabled = YES;
    // 设置滚动条是否显示(默认值是YES)
    scrollView.showsHorizontalScrollIndicator = YES;
    // 设置边界是否有反弹效果(默认值是YES)
    scrollView.bounces = YES;
    // 设置滚动条的样式
    scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite; 
    /*
indicatorStyle(枚举值)  
   UIScrollViewIndicatorStyleDefault,     //白色
   UIScrollViewIndicatorStyleBlack,       //  黑色
     */
    
    // 设置scrollView的代理
    scrollView.delegate = self; // (记得导入协议代理 <UIScrollViewAccessibilityDelegate>)
}
5、UIScrollView滚动代理方法
// 滚动就会触发
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{    NSLog(@"只有scrollview是跟滚动状态就会调用此方法");
}
//开始拖拽时触发
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    NSLog(@"开始拖拽");
}
// 结束拖拽时触发
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView  willDecelerate:(BOOL)decelerate{
        NSLog(@"结束拖拽");
}
// 开始减速时触发
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
        NSLog(@"开始减速");
}
// 结束减速时触发(停止)
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
        NSLog(@"结束减速(停止)");
}
6、UIScrollView缩放实例应用
- (void)viewDidLoad {
    [super viewDidLoad];
    self.vi
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇断言NSAssert的使用 下一篇UITableView 基本使用方法总结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目