(GeekBand) iOS高級編程第一周--UIScrollView

UIScrollView是一個能夠滾動的視圖控件,可以用來展示大量的內(nèi)容,并且可以通過滾動查看所有的內(nèi)容.

UIScrollView的用法很簡單

將需要展示的內(nèi)容添加到UIScrollView中
設(shè)置UIScrollView的contentSize屬性,告訴UIScrollView所有內(nèi)容的尺寸,也就是告訴它滾動的范圍(能滾多遠,滾到哪里是盡頭)

UIScrollView顯示內(nèi)容的小細節(jié)

超出UIScrollView邊框的內(nèi)容會被自動隱藏
用戶可以用過手勢拖動來查看超出邊框并被隱藏的內(nèi)容

開發(fā)中如果UIScrollView無法滾動,可能是以下原因:

沒有設(shè)置contentSize
scrollEnabled = NO
沒有接收到觸摸事件:userInteractionEnabled = NO

常用屬性

@property(nonatomic) CGPoint contentOffset;
這個屬性用來表示UIScrollView滾動的位置
(其實就是內(nèi)容左上角與scrollView左上角的間距值)

@property(nonatomic) CGSize contentSize;
這個屬性用來表示UIScrollView內(nèi)容的尺寸,滾動范圍(能滾多遠)

@property(nonatomic) UIEdgeInsets contentInset;
這個屬性能夠在UIScrollView的4周增加額外的滾動區(qū)域,一般用來避免scrollView的內(nèi)容被其他控件擋住
@property(nonatomic) BOOL bounces;
設(shè)置UIScrollView是否需要彈簧效果

@property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
設(shè)置UIScrollView是否能滾動

@property(nonatomic) BOOL showsHorizontalScrollIndicator;
是否顯示水平滾動條

@property(nonatomic) BOOL showsVerticalScrollIndicator;
是否顯示垂直滾動條

代理

很多時候,我們想在UIScrollView正在滾動 或 滾動到某個位置 或者 停止?jié)L動 時做一些特定的操作
要想完成上述功能,前提條件就是能夠監(jiān)聽到UIScrollView的整個滾動過程
當(dāng)UIScrollView發(fā)生一系列的滾動操作時, 會自動通知它的代理(delegate)對象,給它的代理發(fā)送相應(yīng)的消息,讓代理得知它的滾動情況
也就是說,要想監(jiān)聽UIScrollView的滾動過程,就必須先給UIScrollView設(shè)置一個代理對象,然后通過代理得知UIScrollView的滾動過程

Paste_Image.png

// 用戶開始拖拽時調(diào)用

  • (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
    // 滾動到某個位置時調(diào)用
  • (void)scrollViewDidScroll:(UIScrollView *)scrollView;
    // 用戶結(jié)束拖拽時調(diào)用
  • (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

該控件常見使用就是首頁輪播廣告,具體實現(xiàn)不再累述,老師布置的作業(yè)就是要我們實現(xiàn)這個功能 ,當(dāng)然要實現(xiàn)自動輪播展示下一頁或者用戶滑倒最后一頁,再往后滑動時直接展示第一頁。只需要三個view重復(fù)使用即可,再加上NSTimer定時器實現(xiàn)輪播加無限展示

滿地打滾賣萌求贊,如果本文幫助到你,輕點下方的紅心,給作者君增加更新的動力。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容