1.常见属性
// 记录UIScrollView滚动的位置
@property (nonatomic) CGPoint contentOffset
// 内容尺寸 (能滚动的范围)
@property (nonatomic) CGSize contentSize
// 额外增加的滚动区域(在上下左右4个边缘)
@property (nonatomic) UIEdgeInsets contentInset
// 代理对象 , 遵守 UIScrollViewDelegate 协议
@property (nonatomic, assign) id<UIScrollViewDelegate> delegate
// 是否显示弹簧效果
@property (nonatomic) BOOL bounces;
// 是否显示水平滚动条
@property (nonatomic) BOOL showHorizontalScrollIndicator;
// 是否显示垂直滚动条
@property (nonatomic) BOOL showVerticalScrollIndicator;
2.捏合手势缩放
1)缩放原理
- 当用户尝试缩放 UIScrollView 的时候,UIScrollView 会尝试向它的 delegate (传入的代理对象)发送一条消息,询问要缩放哪个子控件。
- 在这之前,那个代理对象对应的类需要先遵守 UIScrollViewDelegate 协议,这样代理就知道该协议中包含的方法,然就在代理中实现协议中得某个方法来满足需求。
- 需要实现缩放的代理方法是:- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 。
- 在代理类中实现了该方法后,UIScrollView 就知道缩放哪个控件了。
2)缩放实现步骤
- 设置UIScrollView的delegate为控制器(self)
- 在目标控制器中添加 UIScrollViewDelegate 协议,来说明该类遵守该协议
- 在目标控制器中实现 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 方法,来返回需要缩放的控件,从而告诉 UIScrollView 它需要缩放哪个子控件
- 设置最大和最小缩放比例