iOS開發-UIScrollView的幾個屬性-contentSize contentOffSet contentInset

(1) contentSzie定義了一個區域范圍,在該區域范圍內,UIScrollView可以左右/上下移動。

如frame = (0,0,320,480), contentSize = (320,960),則UIScrollView可以被用戶手指上下移動,移動區域范圍是frame高度的兩倍。

contentSize = (320,0),表示只能水平滾動(不允許垂直滾動)。

(2) contentOffset是UIScrollView當前顯示區域的頂點相對于UIScrollView的frame的坐標。UIScrollView實際上分為兩層-scrollView(滾動視圖,用于滾動)和contentView(內容視圖,用于展示內容)。

scrollView的坐標原點即為其frame規定的位置,而contentView的起始位置是以scrollView坐標原點為原點,所展示內容的左上角那個點的坐標,即為contentOffset,可看作contentView左上角相對于scrollView左上角的位移偏移量。

常用于UIPageControl中獲取當前頁(currentPage,使用此功能先UIScrollView開啟分頁功能:self.scrollView.pagingEnabled = YES;)。

(3) contentInset是為scrollView增加額外的滾動區域。

如self.scrollView.contentInset = UIEdgeInsetsMake(50, 80, 0, 0); // 為scrollView頂部增加50,為其左邊增加80的滾動區域。

該屬性常被用于UITableView中以解決最后一行cell被底部控件遮住的問題。

UIEdgeInsetsMake中的四個值分別對應:頂、左、底、右(逆時針方向)。

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

推薦閱讀更多精彩內容