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...