zoukankan      html  css  js  c++  java
  • (七)大图展示Demo引出的UIScrollView的使用

    UIScrollView是一个能够滚动的视图控件,可以通过滚动查看所有内容。

    用途:

    1.一张大图屏幕放不下,可以用各个方向的手势来看大图的各个部分。

    2.手机的设置页面有很多的选项,需要上下滚动来查看。


    使用步骤:

    1.将需要展示的内容添加到UIScrollView中

    2.设置UIScrollView的contentSize属性,表示所有内容的尺寸(滚动的范围)。

    只能通过代码来设置。

    先连线,然后设置一次即可,设置代码为:例如展示一张大图:

    self.scrollView.contentSize = CGSizeMake(892, 632);

    如果不能拖动,先看有没有设置contentSize,有可能是没有去掉autolayout,也可能是scrollEnabled = NO,也可能没有检测到触摸事件(User InterationEnabled = NO)。

    更好的写法是获取图片尺寸赋给滚动视图:

    self.scrollView.contentSize = self.imageView.frame.size;
    或者

    self.scrollView.contentSize = self.imageView.image.size;


    其他常见属性:

    1.contentOffset,用来表示UIScrollView滚到的位置。

    以内容左上角为(0,0),x为当前位置与左边界的最近距离,y为当前位置与上边界的最近距离

    应用:点击滚动按钮,自动进行滚动。

    这个值是CGPoint类型,默认是GGPointZero。

    需要注意,UIScrollView自带动画,不需要用block动画。

    使用这个属性设置的滚动是不会自动弹回的,检测到touch才会弹回。

    注意结构体改变要先取出来修改再赋回去。

        CGPoint offset = self.scrollView.contentOffset;
        offset.x += 10;
        offset.y += 10;
        [self.scrollView setContentOffset:offset animated:YES];

    2.contentInset

    是UIEdgeInsets类型的结构体,有top、left、bottom、right属性,表示四个方向可以额外滚动的区域(不会自动弹回)

    self.scrollView.contentInset = UIEdgeInsetsMake(100, 20, 40, 80);


    Tip:scrollView的frame.size表示的是scrollView的可视范围,contentSize表示的是总体内容的范围。
  • 相关阅读:
    JAVA程序操作hbase的Maven配置pom.xml文件
    windows下部署icescrum
    第一次博客作业——简单介绍一下自己
    2019寒假训练营第三次作业
    网络空间安全概论第5单元笔记
    2019寒假训练营第二次作业
    网络空间安全概论1、4单元笔记
    2019寒假训练营第一次作业
    软工实践个人总结
    第4次作业-结对编程之实验室程序实现
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154246.html
Copyright © 2011-2022 走看看