UIScrollView滾動視圖
移動設(shè)備的屏幕大小是極其有限的,因此直接展示在用戶眼前的內(nèi)容也相當有限
UIScrollView是一個能夠滾動的視圖控件,可以用來展示大量的內(nèi)容,并且可以通過滾動查看所有的內(nèi)容
如:
手機的設(shè)置頁面、照片瀏覽中放大縮小頁面、app上的廣告欄等
基本使用過程:
1)創(chuàng)建UIScrollView對象并設(shè)置其frame
2)將要展示的內(nèi)容添加到UIScrollView中
3)設(shè)置UIScrollView的contentSize屬性以確定可展示的視圖范圍
(能滾多遠,滾到哪里是盡頭)
無法滾動的解決辦法:
沒有設(shè)置contentSize
scrollEnabled = NO
沒有接收到觸摸事件:userInteractionEnabled = NO
沒有取消autolayout功能(要想scrollView滾動,必須取消autolayout)
… …
UIScrollView的幾個重要屬性
frame:我們所看到的frame,以父視圖左上定點作為坐標原點
contentSize:scrollView內(nèi)部的可展示的范圍,是一個CGSize類型
@property(nonatomic) CGSize contentSize - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
contentOffSet:當前的滾動位置,是一個CGPoint類型
@property(nonatomic) CGPoint contentOffset
contentInset:內(nèi)邊距
@property(nonatomic) UIEdgeInsets contentInset
其他屬性:
@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled //滾動功能使能 @property(nonatomic) BOOL scrollsToTop //點擊狀態(tài)欄回滾到頂部功能的使能 @property(nonatomic) BOOL bounces //彈簧功能使能 @property(nonatomic) BOOL showsHorizontalScrollIndicator //水平滾動條顯示使能 @property(nonatomic) BOOL showsVerticalScrollIndicator //垂直滾動條顯示使能
滾動視圖的代理
UIScrollView對象有一個代理屬性:
@property(nonatomic, assign) id< UIScrollViewDelegate > delegate
代理者需要遵循代理協(xié)議<UIScrollViewDelegate>
檢測滾動位置的代理方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
檢測拖拽的代理方法:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
如何實現(xiàn)縮放?
由于scrollView中可以放置多個子視圖
故當使用縮放手勢時,scrollView通過代理方法詢問代理者應(yīng)當縮放哪個子視圖
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
實現(xiàn)該方法,返回要縮放的子視圖
檢測縮放的代理方法:
- (void)scrollViewDidZoom:(UIScrollView *)scrollView - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView*)view - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView*)view atScale:(CGFloat)scale
滾動視圖的分頁功能
滾動視圖支持分頁效果的滾動功能
相關(guān)屬性:
@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled //分頁效果使能
使用的一般步驟:
1)設(shè)置頁數(shù),contentSize的width為frame的width的頁數(shù)倍
2)向scrollView中放置每一頁應(yīng)顯示的內(nèi)容
3)分頁效果屬性設(shè)置為YES
4)必要時隱藏滾動條
5)必要時使用UIPageControl來顯示當前是第幾頁
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享文章:UIKit框架(19)滾動視圖UIScrollView-創(chuàng)新互聯(lián)
當前地址:http://www.chinadenli.net/article14/gchge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、響應(yīng)式網(wǎng)站、定制開發(fā)、網(wǎng)站營銷、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容