UIView的一些常見屬性

UIView

//繼承自UIResponder,擁有touches方法

@interface?UIView?:?UIResponder

/**

*??通過一個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

@interface?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

@interface?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;

/**系統(tǒng)自動調用(留給子類去實現)**/

-?(void)didAddSubview:(UIView?*)subview;

-?(void)willRemoveSubview:(UIView?*)subview;

-?(void)willMoveToSuperview:(UIView?*)newSuperview;

-?(void)didMoveToSuperview;

-?(void)willMoveToWindow:(UIWindow?*)newWindow;

-?(void)didMoveToWindow;

/**系統(tǒng)自動調用**/

//?是不是view的子控件或者子控件的子控件(是否為view的后代)

-?(BOOL)isDescendantOfView:(UIView?*)view;??//?returns?YES?for?self.

//?通過tag獲得對應的子控件(也可以或者子控件的子控件)

-?(UIView?*)viewWithTag:(NSInteger)tag;?????//?recursive?search.?includes?self

/**系統(tǒng)自動調用(留給子類去實現)**/

//?控件的frame發(fā)生改變的時候就會調用,一般在這里重寫布局子控件的位置和尺寸

//?重寫了這個寫方法后,一定調用[super?layoutSubviews];

-?(void)layoutSubviews;

@end

@interface?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

//設置屬性改變時的動畫

@interface?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。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容