中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UIKit框架(19)滾動視圖UIScrollView

發布時間:2020-06-05 10:18:05 來源:網絡 閱讀:407 作者:ymanmeng123 欄目:移動開發
  • UIScrollView滾動視圖

移動設備的屏幕大小是極其有限的,因此直接展示在用戶眼前的內容也相當有限

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

如:

     手機的設置頁面、照片瀏覽中放大縮小頁面、app上的廣告欄等


基本使用過程:

     1)創建UIScrollView對象并設置其frame

     2)將要展示的內容添加到UIScrollView中

     3)設置UIScrollView的contentSize屬性以確定可展示的視圖范圍

     (能滾多遠,滾到哪里是盡頭)


無法滾動的解決辦法:

     沒有設置contentSize

     scrollEnabled = NO

     沒有接收到觸摸事件:userInteractionEnabled = NO

     沒有取消autolayout功能(要想scrollView滾動,必須取消autolayout)

     … …


  • UIScrollView的幾個重要屬性

frame:我們所看到的frame,以父視圖左上定點作為坐標原點

contentSize:scrollView內部的可展示的范圍,是一個CGSize類型

@property(nonatomic) CGSize contentSize
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

contentOffSet:當前的滾動位置,是一個CGPoint類型

@property(nonatomic) CGPoint contentOffset

contentInset:內邊距

@property(nonatomic) UIEdgeInsets contentInset

     

其他屬性:

@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled     //滾動功能使能
@property(nonatomic) BOOL scrollsToTop  //點擊狀態欄回滾到頂部功能的使能
@property(nonatomic) BOOL bounces //彈簧功能使能
@property(nonatomic) BOOL showsHorizontalScrollIndicator //水平滾動條顯示使能
@property(nonatomic) BOOL showsVerticalScrollIndicator  //垂直滾動條顯示使能



  • 滾動視圖的代理

UIScrollView對象有一個代理屬性:

@property(nonatomic, assign) id< UIScrollViewDelegate > delegate

代理者需要遵循代理協議<UIScrollViewDelegate>

檢測滾動位置的代理方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView

檢測拖拽的代理方法:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate


如何實現縮放?

     由于scrollView中可以放置多個子視圖

     故當使用縮放手勢時,scrollView通過代理方法詢問代理者應當縮放哪個子視圖

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

     實現該方法,返回要縮放的子視圖


檢測縮放的代理方法:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView*)view
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView*)view atScale:(CGFloat)scale


 

  • 滾動視圖的分頁功能

滾動視圖支持分頁效果的滾動功能

相關屬性:

@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled //分頁效果使能

使用的一般步驟:     

     1)設置頁數,contentSize的width為frame的width的頁數倍

     2)向scrollView中放置每一頁應顯示的內容

     UIKit框架(19)滾動視圖UIScrollView

     3)分頁效果屬性設置為YES

     4)必要時隱藏滾動條

     5)必要時使用UIPageControl來顯示當前是第幾頁











向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青阳县| 乌兰县| 竹溪县| 宣恩县| 禹州市| 灌云县| 克山县| 涿州市| 屏东市| 都匀市| 浦县| 乌拉特前旗| 江城| 金门县| 开江县| 广灵县| 丰城市| 宁明县| 嘉黎县| 延庆县| 阿拉善右旗| 常德市| 南澳县| 靖西县| 清远市| 罗江县| 新郑市| 新安县| 绥芬河市| 霍山县| 天镇县| 塔城市| 澄江县| 云阳县| 南通市| 九寨沟县| 泰宁县| 土默特左旗| 图片| 罗定市| 聂拉木县|