在寫代碼的時候我們如果用frame進行布局的話,經常會用到像self.view.frame.size.width這樣的語句來擷取我們想要的位置或者大小的值,這個語句調用的時候很繁雜,下面是我封裝的一個類,很簡潔的代碼就可拿到自己想要的值。
給UIVIew添加一個分類,因為UI基本都繼承自UIView,寫在UIVIew的分類中UI類都可調用。
#import <UIKit/UIKit.h>
@interface UIView (MYMargin)
@property(nonatomic,assign,readonly) float mLeft;
@property(nonatomic,assign,readonly) float mRight;
@property(nonatomic,assign,readonly) float mTop;
@property(nonatomic,assign,readonly) float mBottom;
@property(nonatomic,assign,readonly) float mWidth;
@property(nonatomic,assign,readonly) float mHeight;
@end
#import "UIView+MYMargin.h"
@implementation UIView (MYMargin)
-(float)mLeft{
return self.frame.origin.x;
}
-(float)mRight{
return self.frame.origin.x + self.frame.size.width;
}
-(float)mTop{
return self.frame.origin.y;
}
-(float)mBottom{
return self.frame.origin.y + self.frame.size.height;
}
-(float)mWidth{
return self.frame.size.width;
}
-(float)mHeight{
return self.frame.size.height;
}
@end
舉個?,擷取label的寬:
是不是簡單了很多呢,調用也很友善。