- 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里面有很多种对齐方式,