UIScrollView的简单使用

- UIScrollView 介绍

  • 问&1.UIScrollView 是干什么的? 

  • • UIScrollView 也是一种控件,继承自UIView。
    • 用来实现滚动缩放的控件

  •    什么是UIScrollView?       UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 

解析:

UIScrollView是直接继承于UIView, 所以UIScrollView不能直接进行addTagert做监听事件,因为只有直接继承于UIControl的才可以直接进行监听事件 ,所以这里要监听UIScrollView的事件,需要引入后面的代理模式delegate;

  

问&2: 谁在滚动,和缩放?

 -> “滚动”和”缩放”指的是针对放到 UIScrollView 控件里面的内容(可以是图片、表格、其他控件等), UIScrollView 控件本身不动

  

问&3:为什么要进行”滚动”或”缩放”?

移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限

当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内

普通的UIView不具备滚动功能,不能显示过多的内容

UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容

 问&4:UIScrollView实现滚动的基本思路?

 * >1.创建一个UIScrollView控件, 设置该控件本身的大小、位置(frame)

* >2.创建要进行滚动的内容(可以是图片、表格、其他控件等)

 **—> 注意: 这个内容通常是比较多的, 屏幕放不下了所以要放到UIScrollView中可以进行滚动查看

* >3.把要滚动的内容添加到UIScrollView控件中, 让要滚动的内容作为UIScrollView控件的子控件

* >4.通过设置UIScrollView的contentSize属性, 指定要滚动的内容的实际大小 —>这里是在代码里面设置的 

** 问&5:为什么要设置UIScrollView的contentSize属性?

** 解析: 如果不设置contentSize, UIScrollView怎么知道实际内容有多大? UIScrollView都不知道实际内容有多大, 它怎么知道需不需要滚动? 如果实际内容比UIScrollView还小, 那么就不需要滚动。如果实际内容比UIScrollView本身的尺寸大, 那么才需要滚动。

** 注意: 在xcode6下不需要取消"自动布局”也能滚动 

代码演示:

 1 - UIScrollView设置滚动的基本步骤:
 2 1> 创建一个UIScrollView
 3    //直接拖拽一个UIScrollView控件到main.storyboard里面,然后设置它的frame,
 4 2> 向UIScrollView中添加内容
 5      //添加一个图片框UIImageView(也可以是其他的控件) ,把图片框尺寸设置为图片原尺寸
 6 3> 设置UIScrollView的内容的大小(contentSize)
 7   //在代码里面设置   所以这里需要拖线,将UIImageView控件和UIScrollView都拖线,
 8 
 9 -4>.代码实现 UIScrollView实现图片滚动(参考案例:大图片展示)
10 @property (weak, nonatomic) IBOutletUIScrollView *scrollView;
11 @property (weak, nonatomic) IBOutlet UIImageView *d2ImageView;
12 - (void)viewDidLoad {
13     [super viewDidLoad];
14     // 设置ScrollView的contentSize
15     // 设置scrollView的contentSize为图片框的大小
16     self.scrollView.contentSize = self.imgView.bounds.size;
17 }
18 
19 注意:在设置图片的时候,要把图片的尺寸位置为图片的原尺寸,并左上角对齐
20   图片有多大就显示多大, 这里选择是左对齐,
21   图片控件属性面板—> View —> Mode  —> Top Left
22               View —> Mode里面有很多种对齐方式,
原文地址:https://www.cnblogs.com/anRanTimes/p/5094023.html