iOS常用控制項-UIScrollView,ios-uiscrollview
一、 常見屬性
@property (nonatomic) CGPoint contentOffset; //記錄UIScrollView滾動的位置
@property (nonatomic) CGSize contentSize; // 內容尺寸 (能滾動的範圍)
@property (nonatomic) UIEdgeInsets contentInset; // 額外增加的捲動區域 (在上下左右4個邊緣)
@property (nonatomic, assign) id<UIScrollViewDelegate> delegate;
@property (nonatomic) BOOL bounces; // 是否有彈簧效果
@property (nonatomic) BOOL showsHorizontalScrollIndicator; // 是否顯示水平捲軸
@property (nonatomic) BOOL showsVerticalScrollIndicator; // 是否顯示垂直捲軸
//重點掌握 contentSize、contentOffset、delegate
二、捏合手勢縮放
1. 縮放原理詳解
1> 當使用者嘗試縮放UIScrollView的時候,UIScrollView會嘗試向他的delegate (代理對象) 發送一條訊息, 詢問要縮放哪一個子控制項。
2> 換一種說法,也就是說,UIScrollView會嘗試調用delegate的某個方法,詢問要縮放的是哪一個子控制項,並且該方法的傳回值就是需要縮放的子控制項。
2. 縮放原理總結
1> UIScrollView先設定delegate對象
2> UIScrollView必須知道delegate是通過哪個方法返回需要縮放的子控制項,delegate必須實現那個返回需要縮放的子控制項的方法。
3> UIScrollView要跟delegate對象協商好:用哪一個方法返回需要縮放的子控制項
4> 那個返回需要縮放的子控制項的方法就是:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
3.縮放的一般實現步驟 (比如縮放UIScrollView內部的UIImageView)
1> 設定UIScrollView的delegate為控制器 (self)
2> 控制器遵守UIScrollViewDelegate協議 <UIScrollViewDelegate>
3> 控制器實現 - (UIView *)viewForZoomingInScrollView:方法, 返回需要縮放的子控制項
4> 設定最大和最小縮放比例