天天看點

iOS開發UI篇—UIScrollView控件介紹

一、知識點簡單介紹

1.uiscrollview控件是什麼?

(1)移動裝置的螢幕⼤大⼩小是極其有限的,是以直接展⽰示在⽤使用者眼前的内容也相當有限

(2)當展⽰示的内容較多,超出⼀一個螢幕時,⽤使用者可通過滾動⼿手勢來檢視螢幕以外的内容

(3)普通的uiview不具備滾動功能,不能顯⽰示過多的内容

(4)uiscrollview是一個能夠滾動的視圖控件,可以⽤用來展⽰示⼤大量的内容,并且可以通過滾 動檢視所有的内容

(5) 舉例:手機上的“設定”、其他⽰示例程式

2.uiscrollview的簡單使用

(1)将需要展⽰的内容添加到uiscrollview中

(2)設定uiscrollview的contentsize屬性,告訴uiscrollview所有内容的尺⼨寸,也就是告訴 它滾動的範圍(能滾多遠,滾到哪⾥裡是盡頭)

3.屬性

(1)常用屬性:

1)@property(nonatomic)cgpointcontentoffset; 這個屬性⽤用來表⽰示uiscrollview滾動的位置

2)@property(nonatomic)cgsizecontentsize;這個屬性⽤用來表⽰示uiscrollview内容的尺⼨寸,滾動範圍(能滾多遠)

3)@property(nonatomic)uiedgeinsetscontentinset; 這個屬性能夠在uiscrollview的4周增加額外的滾動區域

(2)其他屬性:

1)@property(nonatomic) bool bounces; 設定uiscrollview是否需要彈簧效果

2)@property(nonatomic,getter=isscrollenabled)boolscrollenabled; 設定uiscrollview是否能滾動

3)@property(nonatomic) bool showshorizontalscrollindicator; 是否顯⽰示⽔水準滾動條

4)@property(nonatomic) bool showsverticalscrollindicator; 是否顯⽰示垂直滾動條

4.注意點

• 如果uiscrollview⽆無法滾動,可能是以下原因:

(1)沒有設定contentsize

(2) scrollenabled = no

(3) 沒有接收到觸摸事件:userinteractionenabled = no

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

二、關于uiscrollview常見屬性的一些說明

1.屬性使用的代碼示例

iOS開發UI篇—UIScrollView控件介紹
iOS開發UI篇—UIScrollView控件介紹

2.幾個屬性坐标示意圖

iOS開發UI篇—UIScrollView控件介紹

3.重要說明

(1)uiscrollview的frame與contentsize屬性的區分:uiscrollview的frame指的是這個scrollview的可視範圍(可看見的區域),contentsize是其滾動範圍。

(2)contentinset(不帶*号的一般不是結構體就是枚舉),為uiscrollview增加額外的滾動區域。(上,左,下,右)逆時針。contentinset可以使用代碼或者是視圖控制器進行設定,但兩者有差別(注意區分)。

(3)contentsize屬性隻能使用代碼設定。

(4)contentoffset是個cgpoint類型的結構體,用來記錄scrollview的滾動位置,即記錄着“框”跑到了哪裡。知道了這個屬性,就知道了其位置,可以通過設定這個屬性來控制這個“框”的移動。

(5)不允許直接修改某個對象内部結構體屬性的成員,三個步驟(先拿到值,修改之,再把修改後的值賦回去)。

(6)增加了額外區域後,contentoffset的原點在哪裡?

三、有助于了解的幾個截圖

模型圖:

iOS開發UI篇—UIScrollView控件介紹

對比圖:

iOS開發UI篇—UIScrollView控件介紹

坐标圖:

iOS開發UI篇—UIScrollView控件介紹

繼續閱讀