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 它需要縮放哪個子控件
- 設置最大和最小縮放比例