• (七)大图展示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表示的是总体内容的范围。
  • 相关阅读:
    go学习-环境安装1-WIN10如何安装wsl2
    go学习-环境安装2-wsl2安装docker
    go学习-使用swagger生成接口文档
    go学习-WSL安装gcc
    go学习-如何修改Docker0的IP地址的默认网段
    go学习-go-sqlmock数据库操作测试
    go学习-环境安装3-wsl安装golang
    java基础学习-Stream API
    go学习-gorm
    go学习-获取form表单提交数据
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154246.html
Copyright © 2020-2023  润新知