UIScrollView屬性
CGSize contentSize :設置UIScrollView的滾動范圍
CGPoint contentOffset :UIScrollView當前滾動的位置
UIEdgeInsets contentInset :這個屬性可以在四周增加滾動范圍
BOOL bounces 是否有彈簧效果
BOOL scrollEnabled 是否能滾動
BOOL showsHorizontalScrollIndicator 是否顯示水平方向的滾動條
BOOL showsVerticalScrollIndicator? ? 是否顯示垂直方向的滾動條
UIScrollViewIndicatorStyle indicatorStyle? 設定滾動條的樣式
BOOL dragging 是否正在被拖拽
BOOL tracking? 當touch后還沒有拖動的時候值是YES举塔,否則NO
BOOL decelerating 是否正在減速
BOOL zooming 是否正在縮放
pagingEnabled=YES 分頁效果
tracking
當 touch 后還沒有拖動的時候值是YES望几,否則NO
zoomBouncing
當內容放大到最大或者最小的時候值是 YES在张,否則 NO
zooming
當正在縮放的時候值是 YES,否則 NO
decelerating
當滾動后栈源,手指放開但是還在繼續(xù)滾動中。這個時候是 YES存崖,其它時候是 NO
decelerationRate
設置手指放開后的減速率
maximumZoomScale
一個浮點數(shù)静暂,表示能放最大的倍數(shù)
minimumZoomScale
一個浮點數(shù),表示能縮最小的倍數(shù)
pagingEnabled
當值是 YES 會自動滾動到 subview 的邊界晦毙。默認是NO
scrollEnabled
決定是否可以滾動
delaysContentTouches
是個布爾值生巡,當值是 YES 的時候,用戶觸碰開始见妒,scroll view要延遲一會孤荣,看看是否用戶有意圖滾動。假如滾動了须揣,那么捕捉 touch-down 事件盐股,否則就不捕捉。假如值是NO耻卡,當用戶觸碰疯汁, scroll view 會立即觸發(fā) touchesShouldBegin:withEvent:inContentView:,默認是 YES
canCancelContentTouches
當值是 YES 的時候卵酪,用戶觸碰后幌蚊,然后在一定時間內沒有移動,scrollView 發(fā)送 tracking events溃卡,然后用戶移動手指足夠長度觸發(fā)滾動事件溢豆,這個時候,scrollView 發(fā)送了 touchesCancelled:withEvent: 到 subview塑煎,然后 scroView 開始滾動沫换。假如值是 NO,scrollView 發(fā)送 tracking events 后最铁,就算用戶移動手指讯赏,scrollView 也不會滾動。
contentSize
里面內容的大小冷尉,也就是可以滾動的大小漱挎,默認是0,沒有滾動效果雀哨。
showsHorizontalScrollIndicator
滾動時是否顯示水平滾動條
showsVerticalScrollIndicator
滾動時是否顯示垂直滾動條
bounces
默認是 yes磕谅,就是滾動超過邊界會反彈有反彈回來的效果私爷。假如是 NO,那么滾動到達邊界會立刻停止膊夹。
bouncesZoom
和 bounces 類似,區(qū)別在于:這個效果反映在縮放上面衬浑,假如縮放超過最大縮放,那么會反彈效果放刨;假如是 NO工秩,則到達最大或者最小的時候立即停止。
directionalLockEnabled
默認是 NO进统,可以在垂直和水平方向同時運動助币。當值是 YES 時,假如一開始是垂直或者是水平運動螟碎,那么接下來會鎖定另外一個方向的滾動眉菱。 假如一開始是對角方向滾動,則不會禁止某個方向
indicatorStyle
滾動條的樣式掉分,基本只是設置顏色俭缓。總共3個顏色:默認叉抡、黑尔崔、白
scrollIndicatorInsets
設置滾動條的位置
//只要滾動了就會觸發(fā)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
{
//? ? NSLog(@" scrollViewDidScroll");
NSLog(@"ContentOffset? x is? %f,yis %f",scrollView.contentOffset.x,scrollView.contentOffset.y);
}
//開始拖拽視圖
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewWillBeginDragging");
}
//完成拖拽
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
{
NSLog(@"scrollViewDidEndDragging");
}
//將開始降速時
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewWillBeginDecelerating");
}
//減速停止了時執(zhí)行,手觸摸時執(zhí)行執(zhí)行
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewDidEndDecelerating");
}
//滾動動畫停止時執(zhí)行,代碼改變時出發(fā),也就是setContentOffset改變時
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewDidEndScrollingAnimation");
}
//設置放大縮小的視圖褥民,要是uiscrollview的subview
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
{
NSLog(@"viewForZoomingInScrollView");
return viewA;
}
//完成放大縮小時調用
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale;
{
viewA.frame=CGRectMake(50,0,100,400);
NSLog(@"scale between minimum and maximum. called after any 'bounce' animations");
}// scale between minimum and maximum. called after any 'bounce' animations
//如果你不是完全滾動到滾軸視圖的頂部季春,你可以輕點狀態(tài)欄,那個可視的滾軸視圖會一直滾動到頂部消返,那是默認行為载弄,你可以通過該方法返回NO來關閉它
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewShouldScrollToTop");
returnYES;
}
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewDidScrollToTop");
}
手勢縮放
UIScrollView的iddelegate代理對象
設置屬性:
minimumZoomScale :縮小的最小比例
maximumZoomScale :放大的最大比例
?返回正在被縮放的視圖控件
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
正在縮放的時候調用
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
縮放完畢的時候調用
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
UIPageControl常用屬性:
NSInteger numberOfPages : 總頁數(shù)
NSInteger currentPage : 當前的頁碼
BOOL hidesForSinglePage : 當只有一頁的時候,是否要隱藏視圖
監(jiān)聽UIPageControl的頁面改變:
// 添加監(jiān)聽器
[pageControl addTarget:self action:@selector(pageChange:)
forControlEvents:UIControlEventValueChanged];
// 監(jiān)聽方法
- (void)pageChange:(UIPageControl *)pageControl
{
}