* 通過乙個frame來初始化乙個ui控制項
*/- (id)initwithframe:(cgrect)frame;
// yes:能夠跟使用者進行互動
@property(nonatomic,getter=isuserinteractionenabled) bool userinteractionenabled; // default is yes
// 控制項的乙個標記(父控制項可以通過tag找到對應的子控制項)
@property(nonatomic) nsinteger tag; // 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) cgaffinetransform transform; // default is cgaffinetransformidentity
// yes:支援多點觸控
@property(nonatomic,getter=ismultipletouchenabled) bool multipletouchenabled; // 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 *)view atindex:(nsinteger)index;
// 交換subviews陣列中所存放子控制項的位置
- (void)exchangesubviewatindex:(nsinteger)index1 withsubviewatindex:(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) uiviewcontentmode contentmode; // default is uiviewcontentmodescaletofill
@end
@inte***ce uiview(uiviewanimationwithblocks)
+ (void)animatewithduration:(nstimeinterval)duration delay:(nstimeinterval)delay options:(uiviewanimationoptions)options animations:(void (^)(void))animations completion:(void (^)(bool finished))completion;
+ (void)animatewithduration:(nstimeinterval)duration animations:(void (^)(void))animations completion:(void (^)(bool finished))completion;
+ (void)animatewithduration:(nstimeinterval)duration animations:(void (^)(void))animations;
+ (void)animatewithduration:(nstimeinterval)duration delay:(nstimeinterval)delay usingspringwithdamping:(cgfloat)dampingratio initialspringvelocity:(cgfloat)velocity options:(uiviewanimationoptions)options animations:(void (^)(void))animations completion:(void (^)(bool finished))completion;
@end
UIView 常用屬性 transform
transform 旋轉角度的引數是弧度值,弧度制是乙個浮點數,180度的角度對應的弧度值是pi 90 pi 2,45 pi 4 使用transformmake 方法是相對檢視初始位置的形變 transform cgaffinetransformrotate subview1.transform,m...
UIView的常用屬性
設定檢視的透明度.預設為1.完全透明 view.alpha 0 不透明 view.alpha 1 預設是 no,當設定為 yes時,超出當前檢視的尺寸的內容和子檢視不會顯示。view.clipstobounds yes 預設是 no,當設定為 yes,檢視就看不見了。view.hidden yes ...
UIView的常用屬性
uiview的常用屬性 1.frame 屬性 設定控制項位置和尺寸。因為它返回的是乙個cgrect,要設定x,y,width,height,所以要弄清楚在ios開發中,是怎樣計算的。在ios開發中,x,y都是父控制項左上角為 0,0 往右 x越來越大,往下 y越來越大。width和height就簡單...