(一)在.m檔案中宣告的方法都是私有方法,外界是無法訪問的,這就保證了程式的封裝性
(二)uiview常見屬性
@property(nonatomic,readonly) uiview *superview;
獲得自己的父控制項物件
@property(nonatomic,readonly,copy) nsarray *subviews;
獲得自己的所有子控制項物件
@property(nonatomic) nsinteger tag;
控制項的id\標識,父控制項可以通過tag來找到對應的子控制項
@property(nonatomic) cgaffinetransform transform;
控制項的形變屬性(可以設定旋轉角度、比例縮放、平移等屬性)
@property(nonatomic) cgrect frame;
控制項所在矩形框在父控制項中的位置和尺寸(以父控制項的左上角為座標原點)
@property(nonatomic) cgrect bounds;
控制項所在矩形框的位置和尺寸(以自己左上角為座標原點,所以bounds的x\y一般為0)
@property(nonatomic) cgpoint center;
控制項中點的位置(以父控制項的左上角為座標原點)
(三)uiview常見方法
- (void)addsubview:(uiview *)view;
新增乙個子控制項view
- (void)removefromsuperview;
從父控制項中移除
- (uiview *)viewwithtag:(nsinteger)tag;
根據乙個tag標識找出對應的控制項(一般都是子控制項)
(四)images.xcassets檔案中不能識別jpg格式的檔案
(五)如果發現通過**無法修改控制項的位置或者尺寸時,應該去掉storyboard裡面的autolayout功能,這是自ios6開始出現的特性
autolayout是用來自動布局的,用來束縛控制項的位置和尺寸。去掉這個功能,控制項的位置和尺寸就不再有一些固定的束縛
(六)對於控制項的大小位置旋轉等屬性的改變需要注意,這些都是由結構體屬性控制的
oc語法規定:不允許直接修改物件的結構體屬性的成員,所以要修改這些屬性值
必須首先獲取控制項的結構體,修改之後再賦值。
(七)通過以下屬性可以修改控制項的位置
(1)frame.origin
(2)center
通過以下屬性可以修改控制項的尺寸
(1)frame.size
(2)bounds.size
(八)利用transform屬性可以修改控制項的位移(位置)、縮放、旋轉
建立乙個transform屬性
(1)cgaffinetransform cgaffinetransformmaketranslation(cgfloat tx, cgfloat ty) ;
(2)cgaffinetransform cgaffinetransformmakescale(cgfloat sx, cgfloat sy);
(3)cgaffinetransform cgaffinetransformmakerotation(cgfloat angle)
(angle是弧度制,並不是角度制)
在某個transform的基礎上進行疊加
(1)cgaffinetransform cgaffinetransformtranslate(cgaffinetransform t, cgfloat tx, cgfloat ty);
(2)cgaffinetransform cgaffinetransformscale(cgaffinetransform t, cgfloat sx, cgfloat sy);
(3)cgaffinetransform cgaffinetransformrotate(cgaffinetransform t, cgfloat angle);
(九)清空之前設定的transform屬性
view.transform = cgaffinetransformidentity;
(十)storyboard的本質就是根據圖形介面描述轉成相應的**
(十一)
動畫的實現兩種方式:
第一種:
頭尾式[uiview beginanimations:nil context:nil];
iOS基礎 CoreData 總結
coredata 資料持久化框架是cocoa api的一部分,它允許按照 實體 屬性 值 模型組織資料,並以xml 做mac os用 二進位制,或者sqlite資料檔案的格式持久化資料.coredata主要提供 物件 關係對映 orm 功能,把oc物件轉化為資料儲存到檔案,也可以資料轉化成oc物件....
iOS基礎總結一(KVC KVO簡述)
1 檢查是否存在相應key的set方法,如果存在,就呼叫set方法 2 如果set方法不存在,就會查詢與key相同名稱且帶下劃線的成員屬性,如果有,則直接給成員屬性賦值 3 如果沒有找到 key,就會查詢相同名稱的屬性key。如果有,就直接賦值 4 如果還沒有找到,則會呼叫valueforundef...
iOS基礎 Block變數截獲(總結)
nsinteger number 30 nsinteger block nsinteger nsinteger nsinteger n num 5 nslog zd block 10 這裡輸出結果是 40,而不是 15,原因是對區域性變數 number 的截獲是 值截獲 在 block 裡面修改 n...