iOS開發之控件frame/bounds/center尺寸快速賦值改變小技巧-簡單給UIView新增分類

大家是否還記得對控件的frame/bounds/center進行屬性更改時的三部曲?

1>將結構體取出

2>改變取出後的結構體對應的數據

3>將修改後的結構體賦值給控件

CGRect frame = self.view.frame;
    // your code...
    frame.origin.x = frameX;
    // your code...
    self.view.frame = frame;

這在實際工作中需要更改相應屬性的時候是很不方便的,所以考慮到直接在UIView的分類中添加相應的屬性通過重寫它們的setter與getter方法達到快速賦值的目的;

思路:

1>在.h文件中添加相應的屬性例如

@property (assign,nonatomic) CGFloat frameX;


2>在.m文件中改寫相應方法

-(CGFloat)frameX{
    return self.frame.origin.x;
}
-(void)setFrameX:(CGFloat)frameX{
    CGRect frame = self.view.frame;
    frame.origin.x = frameX;
    self.view.frame = frame;
}

這樣在後續工作中使用的時候就會特別的方便,例如想更改控件的frame屬性中的X值則在引入這個分類後直接如下書寫即可

self.redView.frameX = 100;

完整代碼請參考

GitHub

一個直接對控件的frame/bounds/center進行屬性更改的UIView的分類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章