iOS界面開發中提供了一個非常重要的類UIScrollView,它能顯示比屏幕更大的應用窗口的內容,從而不必擔心受屏幕大小限制,翻到下一頁瀏覽信息,能大大提升用戶體驗。下面筆者總結了UIScrollView的常見屬性、手勢縮放和分頁效果:
一、 基本使用
1.1作用
UIScrollView可以用于顯示多于一個屏幕的內容,超出屏幕范圍的內容可以通過滑動進行查看
1.2常見屬性
- CGSize contentSize :設置UIScrollView的滾動范圍
- CGPoint contentOffset :UIScrollView當前滾動的位置
- UIEdgeInsets contentInset :這個屬性可以在四周增加滾動范圍
1.3其他屬性
- BOOL bounces 是否有彈簧效果
- BOOL scrollEnabled 是否能滾動
- BOOL showsHorizontalScrollIndicator 是否顯示水平方向的滾動條
- BOOL showsVerticalScrollIndicator 是否顯示垂直方向的滾動條
- UIScrollViewIndicatorStyle indicatorStyle 設定滾動條的樣式
- BOOL dragging 是否正在被拖拽
- BOOL tracking 當touch后還沒有拖動的時候值是YES,否則NO
- BOOL decelerating 是否正在減速
- BOOL zooming 是否正在縮放
二、 手勢縮放
- 設置UIScrollView的id delegate代理對象
- 設置minimumZoomScale :縮小的最小比例
- 設置maximumZoomScale :放大的最大比例
- 讓代理對象實現下面的方法,返回需要縮放的視圖控件
- (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView
- 跟縮放相關的常用方法還有
- 正在縮放的時候調用 -(void)scrollViewDidZoom:(UIScrollView )scrollView
- 縮放完畢的時候調用 -(void)scrollViewDidEndZooming:(UIScrollView )scrollView withView:(UIView *)view atScale:(float)scale
三、 分頁效果
- 設置pagingEnabled=YES即可,UIScrollView會被分割成多個獨立頁面,用戶的滾動體驗則變成了頁面翻轉
- 一般會配合UIPageControl增強分頁效果,UIPageControl常用屬性:
- NSInteger numberOfPages : 總頁數
- NSInteger currentPage : 當前的頁碼
- BOOL hidesForSinglePage : 當只有一頁的時候,是否要隱藏視圖
監聽UIPageControl的頁面改變:
// 添加監聽器
[pageControl addTarget:self action:@selector(pageChange:)
forControlEvents:UIControlEventValueChanged];
// 監聽方法
(void)pageChange:(UIPageControl *)pageControl
{
}
本文轉載自//my.oschina.net/panyong/blog/179627
標簽:
移動開發iOSUI界面
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:oschina