
UIScrollView屬性
CGSize contentSize :設(shè)置UIScrollView的滾動(dòng)范圍
CGPoint contentOffset :UIScrollView當(dāng)前滾動(dòng)的位置
UIEdgeInsets contentInset :這個(gè)屬性可以在四周增加滾動(dòng)范圍
BOOL bounces 是否有彈簧效果
BOOL scrollEnabled 是否能滾動(dòng)
BOOL showsHorizontalScrollIndicator 是否顯示水平方向的滾動(dòng)條
BOOL showsVerticalScrollIndicator? ? 是否顯示垂直方向的滾動(dòng)條
UIScrollViewIndicatorStyle indicatorStyle? 設(shè)定滾動(dòng)條的樣式
BOOL dragging 是否正在被拖拽
BOOL tracking? 當(dāng)touch后還沒有拖動(dòng)的時(shí)候值是YES,否則NO
BOOL decelerating 是否正在減速
BOOL zooming 是否正在縮放
pagingEnabled=YES 分頁效果
tracking
當(dāng) touch 后還沒有拖動(dòng)的時(shí)候值是YES,否則NO
zoomBouncing
當(dāng)內(nèi)容放大到最大或者最小的時(shí)候值是 YES,否則 NO
zooming
當(dāng)正在縮放的時(shí)候值是 YES,否則 NO
decelerating
當(dāng)滾動(dòng)后,手指放開但是還在繼續(xù)滾動(dòng)中。這個(gè)時(shí)候是 YES,其它時(shí)候是 NO
decelerationRate
設(shè)置手指放開后的減速率
maximumZoomScale
一個(gè)浮點(diǎn)數(shù),表示能放最大的倍數(shù)
minimumZoomScale
一個(gè)浮點(diǎn)數(shù),表示能縮最小的倍數(shù)
pagingEnabled
當(dāng)值是 YES 會(huì)自動(dòng)滾動(dòng)到 subview 的邊界。默認(rèn)是NO
scrollEnabled
決定是否可以滾動(dòng)
delaysContentTouches
是個(gè)布爾值,當(dāng)值是 YES 的時(shí)候,用戶觸碰開始,scroll view要延遲一會(huì),看看是否用戶有意圖滾動(dòng)。假如滾動(dòng)了,那么捕捉 touch-down 事件,否則就不捕捉。假如值是NO,當(dāng)用戶觸碰, scroll view 會(huì)立即觸發(fā) touchesShouldBegin:withEvent:inContentView:,默認(rèn)是 YES
canCancelContentTouches
當(dāng)值是 YES 的時(shí)候,用戶觸碰后,然后在一定時(shí)間內(nèi)沒有移動(dòng),scrollView 發(fā)送 tracking events,然后用戶移動(dòng)手指足夠長(zhǎng)度觸發(fā)滾動(dòng)事件,這個(gè)時(shí)候,scrollView 發(fā)送了 touchesCancelled:withEvent: 到 subview,然后 scroView 開始滾動(dòng)。假如值是 NO,scrollView 發(fā)送 tracking events 后,就算用戶移動(dòng)手指,scrollView 也不會(huì)滾動(dòng)。
contentSize
里面內(nèi)容的大小,也就是可以滾動(dòng)的大小,默認(rèn)是0,沒有滾動(dòng)效果。
showsHorizontalScrollIndicator
滾動(dòng)時(shí)是否顯示水平滾動(dòng)條
showsVerticalScrollIndicator
滾動(dòng)時(shí)是否顯示垂直滾動(dòng)條
bounces
默認(rèn)是 yes,就是滾動(dòng)超過邊界會(huì)反彈有反彈回來的效果。假如是 NO,那么滾動(dòng)到達(dá)邊界會(huì)立刻停止。
bouncesZoom
和 bounces 類似,區(qū)別在于:這個(gè)效果反映在縮放上面,假如縮放超過最大縮放,那么會(huì)反彈效果;假如是 NO,則到達(dá)最大或者最小的時(shí)候立即停止。
directionalLockEnabled
默認(rèn)是 NO,可以在垂直和水平方向同時(shí)運(yùn)動(dòng)。當(dāng)值是 YES 時(shí),假如一開始是垂直或者是水平運(yùn)動(dòng),那么接下來會(huì)鎖定另外一個(gè)方向的滾動(dòng)。 假如一開始是對(duì)角方向滾動(dòng),則不會(huì)禁止某個(gè)方向
indicatorStyle
滾動(dòng)條的樣式,基本只是設(shè)置顏色。總共3個(gè)顏色:默認(rèn)、黑、白
scrollIndicatorInsets
設(shè)置滾動(dòng)條的位置
//只要滾動(dòng)了就會(huì)觸發(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");
}
//將開始降速時(shí)
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewWillBeginDecelerating");
}
//減速停止了時(shí)執(zhí)行,手觸摸時(shí)執(zhí)行執(zhí)行
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewDidEndDecelerating");
}
//滾動(dòng)動(dòng)畫停止時(shí)執(zhí)行,代碼改變時(shí)出發(fā),也就是setContentOffset改變時(shí)
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewDidEndScrollingAnimation");
}
//設(shè)置放大縮小的視圖,要是uiscrollview的subview
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
{
NSLog(@"viewForZoomingInScrollView");
return viewA;
}
//完成放大縮小時(shí)調(diào)用
- (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
//如果你不是完全滾動(dòng)到滾軸視圖的頂部,你可以輕點(diǎn)狀態(tài)欄,那個(gè)可視的滾軸視圖會(huì)一直滾動(dòng)到頂部,那是默認(rèn)行為,你可以通過該方法返回NO來關(guān)閉它
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewShouldScrollToTop");
returnYES;
}
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;
{
NSLog(@"scrollViewDidScrollToTop");
}
手勢(shì)縮放
UIScrollView的iddelegate代理對(duì)象
設(shè)置屬性:
minimumZoomScale :縮小的最小比例
maximumZoomScale :放大的最大比例
?返回正在被縮放的視圖控件
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
正在縮放的時(shí)候調(diào)用
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
縮放完畢的時(shí)候調(diào)用
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
UIPageControl常用屬性:
NSInteger numberOfPages : 總頁數(shù)
NSInteger currentPage : 當(dāng)前的頁碼
BOOL hidesForSinglePage : 當(dāng)只有一頁的時(shí)候,是否要隱藏視圖
監(jiān)聽UIPageControl的頁面改變:
// 添加監(jiān)聽器
[pageControl addTarget:self action:@selector(pageChange:)
forControlEvents:UIControlEventValueChanged];
// 監(jiān)聽方法
- (void)pageChange:(UIPageControl *)pageControl
{
}
