UIScrollView滾動(dòng)視圖

移動(dòng)設(shè)備的屏幕大小是極其有限的,因此直接展示在用戶眼前的內(nèi)容也相當(dāng)有限
UIScrollView是一個(gè)能夠滾動(dòng)的視圖控件,可以用來展示大量的內(nèi)容,并且可以通過滾動(dòng)查看所有的內(nèi)容
如:
手機(jī)的設(shè)置頁(yè)面、照片瀏覽中放大縮小頁(yè)面、app上的廣告欄等
基本使用過程:
1)創(chuàng)建UIScrollView對(duì)象并設(shè)置其frame
2)將要展示的內(nèi)容添加到UIScrollView中
3)設(shè)置UIScrollView的contentSize屬性以確定可展示的視圖范圍
(能滾多遠(yuǎn),滾到哪里是盡頭)
無法滾動(dòng)的解決辦法:
沒有設(shè)置contentSize
scrollEnabled = NO
沒有接收到觸摸事件:userInteractionEnabled = NO
沒有取消autolayout功能(要想scrollView滾動(dòng),必須取消autolayout)
… …
UIScrollView的幾個(gè)重要屬性
frame:我們所看到的frame,以父視圖左上定點(diǎn)作為坐標(biāo)原點(diǎn)
contentSize:scrollView內(nèi)部的可展示的范圍,是一個(gè)CGSize類型
@property(nonatomic) CGSize contentSize - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
contentOffSet:當(dāng)前的滾動(dòng)位置,是一個(gè)CGPoint類型
@property(nonatomic) CGPoint contentOffset
contentInset:內(nèi)邊距
@property(nonatomic) UIEdgeInsets contentInset
其他屬性:
@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled //滾動(dòng)功能使能 @property(nonatomic) BOOL scrollsToTop //點(diǎn)擊狀態(tài)欄回滾到頂部功能的使能 @property(nonatomic) BOOL bounces //彈簧功能使能 @property(nonatomic) BOOL showsHorizontalScrollIndicator //水平滾動(dòng)條顯示使能 @property(nonatomic) BOOL showsVerticalScrollIndicator //垂直滾動(dòng)條顯示使能
滾動(dòng)視圖的代理
UIScrollView對(duì)象有一個(gè)代理屬性:
@property(nonatomic, assign) id< UIScrollViewDelegate > delegate
代理者需要遵循代理協(xié)議<UIScrollViewDelegate>
檢測(cè)滾動(dòng)位置的代理方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
檢測(cè)拖拽的代理方法:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
如何實(shí)現(xiàn)縮放?
由于scrollView中可以放置多個(gè)子視圖
故當(dāng)使用縮放手勢(shì)時(shí),scrollView通過代理方法詢問代理者應(yīng)當(dāng)縮放哪個(gè)子視圖
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
實(shí)現(xiàn)該方法,返回要縮放的子視圖
檢測(cè)縮放的代理方法:
- (void)scrollViewDidZoom:(UIScrollView *)scrollView - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView*)view - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView*)view atScale:(CGFloat)scale
滾動(dòng)視圖的分頁(yè)功能
滾動(dòng)視圖支持分頁(yè)效果的滾動(dòng)功能
相關(guān)屬性:
@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled //分頁(yè)效果使能
使用的一般步驟:
1)設(shè)置頁(yè)數(shù),contentSize的width為frame的width的頁(yè)數(shù)倍
2)向scrollView中放置每一頁(yè)應(yīng)顯示的內(nèi)容

3)分頁(yè)效果屬性設(shè)置為YES
4)必要時(shí)隱藏滾動(dòng)條
5)必要時(shí)使用UIPageControl來顯示當(dāng)前是第幾頁(yè)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享文章:UIKit框架(19)滾動(dòng)視圖UIScrollView-創(chuàng)新互聯(lián)
當(dāng)前地址:http://chinadenli.net/article14/gchge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、定制開發(fā)、網(wǎng)站營(yíng)銷、營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容