iOS開發UI篇 UIScrollView控制項介紹

2022-09-10 14:12:35 字數 2538 閱讀 3655

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.屬性使用的**示例

#import "mjviewcontroller.h"

@inte***ce mjviewcontroller ()

@end

@implementation mjviewcontroller

- (void)viewdidload

- (ibaction)down:(uibutton *)sender ];

}@end

2.幾個屬性座標示意圖

3.重要說明

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

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

(3)contentsize屬性只能使用**設定。

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

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

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

三、有助於理解的幾個截圖

模型圖:

對比圖:

座標圖:

iOS開發UI技巧篇 UILable

1 ios7 之後 uilable顯示多行 這個在某些場景下會出問題,沒找到原因 uilabel lable uilabel alloc init lable.text 當您有新中獎訂單,啟動程式時通過動畫提醒您。為避免過於頻繁,高頻彩不會提醒。self.tableview addsubview l...

iOS開發UI篇 CALayer簡介

ios開發ui篇 calayer簡介 一 簡單介紹 在ios中,你能看得見摸得著的東西基本上都是uiview,比如乙個按鈕 乙個文字標籤 乙個文字輸入框 乙個圖示等等,這些都是uiview。其實uiview之所以能顯示在螢幕上,完全是因為它內部的乙個圖層,在建立uiview物件時,uiview內部會...

iOS開發UI篇 transframe屬性(形變)

ios開發ui篇 transframe屬性 形變 ios開發ui篇 transframe屬性 形變 1.transform屬性 在oc中,通過transform屬性可以修改物件的平移 縮放比例和旋轉角度 常用的建立transform結構體方法分兩大類 1 建立 基於控制項初始位置 的形變 cgaff...