@inte***ce uiview : uiresponder
- (id)initwithframe:(cgrect)frame;
// yes:能夠跟使用者進行互動
@property(nonatomic,getter=isuserinteractionenabled
) booluserinteractionenabled;
// default is yes
// 控制項的乙個標記(父控制項可以通過tag找到對應的子控制項)
@property(nonatomic)
nsintegertag;
// default is 0
// 圖層(可以用來設定圓角效果\陰影效果)
@property(nonatomic,readonly,retain)
calayer
*layer;
@end
@inte***ce uiview(uiviewgeometry)
// 位置和尺寸(以父控制項的左上角為座標原點(0, 0))
@property(nonatomic)cgrect
frame;
// 位置和尺寸(以自己的左上角為座標原點(0, 0))
@property(nonatomic)cgrect
bounds;
// 中點(以父控制項的左上角為座標原點(0, 0))
@property(nonatomic)cgpoint
center;
// 形變屬性(平移\縮放\旋轉)
@property(nonatomic) cgaffinetransformtransform;
// default iscgaffinetransformidentit y
// yes:支援多點觸控
@property(nonatomic,getter=ismultipletouchenabled) boolmultipletouchenabled;
//default is no
@end
@inte***ce uiview(uiviewhierarchy)
// 父控制項
@property(nonatomic,readonly)uiview
*superview;
// 子控制項(新新增的控制項預設都在subviews陣列的後面, 新新增的控制項預設都顯示在最上面\最頂部)
@property(nonatomic,readonly,copy) nsarray *subviews;
// 獲得當前控制項所在的window
@property(nonatomic,readonly)uiwindow
*window;
// 從父控制項中移除乙個控制項
- (void)removefromsuperview;
// 新增乙個子控制項(可以將子控制項插入到subviews陣列中index這個位置)
- (void)insertsubview:(uiview *)viewatindex:(nsinteger)index;
// 交換subviews陣列中所存放子控制項的位置
- (void)exchangesubviewatindex:(nsinteger)index1withsubviewatindex:(nsinteger)index2;
// 新增乙個子控制項(新新增的控制項預設都在subviews陣列的後面, 新新增的控制項預設都顯示在最上面\最頂部)
- (void)addsubview:(uiview *)view;
// 新增乙個子控制項view(被擋在siblingsubview的下面)
- (void)insertsubview:(uiview *)view belowsubview:(uiview*)siblingsubview;
// 新增乙個子控制項view(蓋在siblingsubview的上面)
- (void)insertsubview:(uiview *)view abovesubview:(uiview*)siblingsubview;
// 將某個子控制項拉到最上面(最頂部)來顯示
- (void)bringsubviewtofront:(uiview *)view;
// 將某個子控制項拉到最下面(最底部)來顯示
- (void)sendsubviewtoback:(uiview *)view;
- (void)didaddsubview:(uiview *)subview;
- (void)willremovesubview:(uiview *)subview;
- (void)willmovetosuperview:(uiview *)newsuperview;
- (void)didmovetosuperview;
- (void)willmovetowindow:(uiwindow *)newwindow;
- (void)didmovetowindow;
// 是不是view的子控制項或者子控制項的子控制項(是否為view的後代)
- (bool)isdescendantofview:(uiview *)view;
//returns yes for self.
// 通過tag獲得對應的子控制項(也可以或者子控制項的子控制項)
- (uiview*)viewwithtag:(nsinteger)tag;
// recursive search. includes self
// 控制項的frame發生改變的時候就會呼叫,一般在這裡重寫布局子控制項的位置和尺寸
// 重寫了這個寫方法後,一定呼叫[super layoutsubviews];
- (void)layoutsubviews;
@end
@inte***ce uiview(uiviewrendering)
// yes : 超出控制項邊框範圍的內容都剪掉
@property(nonatomic)
bool
clipstobounds;
// 背景色
@property(nonatomic,copy)
uicolor
*backgroundcolor; // default is nil
// 透明度(0.0~1.0)
@property(nonatomic)
cgfloat
alpha;
// default is 1.0
// yes:不透明
no:透明
@property(nonatomic,getter=isopaque)bool
opaque;
// default is yes
// yes : 隱藏
no : 顯示
@property(nonatomic,getter=ishidden)bool
hidden;
// 內容模式
@property(nonatomic)
uiviewcontentmodecontentmode;
// default is uiviewcontentmodescaleto
fill
@end
@inte***ce uiview(uiviewanimationwithblock
s) + (void)animatewithduration:(nstimeinterval)durationdelay:(nstimeinterval)delay options:(uiviewanimationoptions)optionsanimations:(void (^)(void))animations completion:(void (^)(boolfinished))completion;
+ (void)animatewithduration:(nstimeinterval)durationanimations:(void (^)(void))animations completion:(void (^)(boolfinished))completion;
+ (void)animatewithduration:(nstimeinterval)durationanimations:(void (^)(void))animations;
+ (void)animatewithduration:(nstimeinterval)durationdelay:(nstimeinterval)delayusingspringwithdamping:(cgfloat)dampingratioinitialspringvelocity:(cgfloat)velocityoptions:(uiviewanimationoptions)options animations:(void(^)(void))animations completion:(void (^)(boolfinished))completion;
@end
Restful的學習理解
最近工作需要用到restful,以前沒有關注過。都是寫一些linux驅動,qemu模擬器開發等。把心得寫一下。restful 這是乙個面向資源的架構,由一名老外提出的。屬於一種約束。只要遵從這種約束的都可以稱為resetful。但是不能叫restful架構,因為它根本就不是什麼架構。進入正題 什麼是...
Hashmap的學習理解
一 hashmap的簡介概況 1.hash簡介 hashmap 是乙個雜湊表,它儲存的內容是鍵值對 key value 對映。hashmap 的實現不是同步的,這意味著它不是執行緒安全的。它的key value都可以為null。此外,hashmap中的對映不是有序的。hashmap 的例項有兩個引數...
繼承的學習理解
new出來的子類呼叫函式方法,如果子類沒有該方法,則從父類進行查詢,方法若進一步對其他方法進行了呼叫的話,則看該方法的修飾符是什麼。若為private則,不可被子類繼承 若為預設,則可被子類繼承,看子類是否對方法進行了重寫。繼承注意問題 上述鏈結中有乙個很好的例子,new出的子類呼叫方法,如果因為父...