• UIScroollView的使用和注意点


    UIScrollView

    通常称为滚动视图,我们可以用它来实现很多的效果,如图片浏览,图片缩放,添加定时器后可以制作成图片轮播器等等

    UIScrollView的使用步骤

    • 1.创建UIScrollView
    UIScrollView *scrollView = [UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 200, 200);
    
    
    
    • 2.给UIScrollView添加子控件
    UIImageView *imgView = [UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.jpg"];
    [scrollView addSubview:imgView];
    
    
    
    • 3.设置UIScrollview的contentSize
    scrollView.contentSize = imgView.image.size;
    
    
    
    • UIScrollView不能滚动的几种情况
      • 1.没有设置contentSize
      • 2.scrollEnabled = NO
      • 3.userInteractionEnabled = NO
      • 注意点:userInteractionEnabled不是Disabled, 他们两有本质的区别
        • Disabled代表控件不能使用, 状态是Disabled状态
        • userInteractionEnabled代表控件是否可以交互
      • 注意点:在企业开发中, 千万不要使用subviews来获取UIScrollview中的子控件
        • 因为subviews中包含了UIScrollview中的滚动条, 而且滚动条的顺序是不确定的

    UIScrollview常见属性

    • scrollView.bounces = YES;

      • 用于设置UIScrollview是否有回弹效果
    • scrollView.scrollEnabled = YES;

      • 设置是否可以滚动
    • scrollView.userInteractionEnabled = YES;

      • 设置是否可以与用户进行交互,此项设置为否,即使上面设置为可以滚动的也不能滚动
    • scrollView.showsHorizontalScrollIndicator = NO;

      • 隐藏水平滚动条
    • scrollView.showsVerticalScrollIndicator = YES;

      • 显示垂直滚动条
    • scrollView.alwaysBounceHorizontal = YES;

      • 水平回滚效果
    • scrollView.alwaysBounceVertical = YES;

      • 垂直回滚效果 应用场景:下拉刷新
    • scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite; // 设置滚动条的样式

    • contentSize
      • 用于设置scrollView的滚动区域
    • contentOffset
      • 作用: 用于设置内容的滚动偏移位
      • 计算公式: 移动的距离 = "控件的左上角" - "内容的左上角"
        • 最好先理解iOS的坐标系, 然后再理解公式
    • 可以利用setContentOffset:offset animated:YES方法设置偏移量, 达到在点击按钮切换视图的目的

    • contentInset

      • 作用: 在contentSize周围添加额外的滚动区域
      • 应用场景: 避免UIScrollview中的内容被遮挡 objc self.tableView.contentInset = UIEdgeInsetsMake( 100, 0, 0, 0); // UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right):上左下右
    • 注意查看PPT中的对比图理解: contentSize/contentOffset/contentInset/frame

      常用方法

    • 设置偏移时带有动画效果

    - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;  // animate at constant velocity to new offset
    
    
    
    • 如何监听一个控件
      • 首先需要查看该控件的头文件, 看它继承于谁
        • 如果继承于UIControl, 那么就可以通过addTarget来监听
        • 如果不是继承于UIControl, 那么就必须通过代理来监听
  • 相关阅读:
    目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?
    课程不懂的问题
    自我介绍
    .net发送邮件代码示例
    清除HTML中的特殊字符
    Html特殊字符转义处理
    截取字符窜(区分中英文)
    截取需要的字符串(非字节处理)
    区分24小时和12小时的时间格式转换为
    时间戳转为时间
  • 原文地址:https://www.cnblogs.com/wxdonly/p/5118404.html
Copyright © 2020-2023  润新知