XIB中设置UIView圆角

来源:互联网 发布:迅捷网络登录 编辑:程序博客网 时间:2024/05/16 05:03

首先熟悉两个属性

IBInspectable和IBDesignable

IBInspectable修饰的属性可以在Interface Builder中查看并修改

IBDesignable可以让视图直接在画布上渲染,实时修改实时更新

//  UIView+CornerRadius.h#import <UIKit/UIKit.h>IB_DESIGNABLE@interface UIView (CornerRadius)@property (nonatomic, assign)IBInspectable CGFloat cornerRadius;@property (nonatomic, assign)IBInspectable CGFloat borderWidth;@property (nonatomic, strong)IBInspectable UIColor * borderColor;@end

//  UIView+CornerRadius.m#import "UIView+CornerRadius.h"#import <objc/runtime.h>@implementation UIView (CornerRadius)#pragma mark 设置圆角- (CGFloat)cornerRadius{    return [objc_getAssociatedObject(self, _cmd) floatValue];}- (void)setCornerRadius:(CGFloat)cornerRadius{    self.layer.cornerRadius = cornerRadius;    self.layer.masksToBounds = YES;}#pragma mark 设置边线宽度- (CGFloat)borderWidth{    return [objc_getAssociatedObject(self, _cmd) floatValue];}- (void)setBorderWidth:(CGFloat)borderWidth{    self.layer.borderWidth = borderWidth;    self.layer.masksToBounds = YES;}#pragma mark 设置边线颜色- (UIColor *)borderColor{    return objc_getAssociatedObject(self, _cmd);}- (void)setBorderColor:(UIColor *)borderColor{    self.layer.borderColor = borderColor.CGColor;}@end

这里的_cmd指的是当前的SEL,就像self指向当前对象一样

将这个UIView的category添加到工程中,运行起来,在xib中就可以对UIView的cornerRadius,borderWidth, borderColor进行设置了


0 0