// // imageborder.m // Hateimageview // // Created by BiuBiu on 17/5/9. // Copyright © 2017年 BiuBiu. All rights reserved. // #import "Imageborder.h" #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a] #define RGB(r,g,b) RGBA(r,g,b,1.0f) //rgb颜色快捷定义 @implementation Imageborder{ CGFloat Mysize; } #pragma mark 初始化方法 -(instancetype)init{ return [self initWithFrame:CGRectMake(0, 0, 0, 0)]; } -(instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { [self initData]; [self initView]; } return self; } #pragma mark 初始化布局参数 -(void)initData{ Mysize =40; } #pragma mark 初始化布局视图 -(void)initView{ [self setImage:[UIImage imageNamed:@"touxiang-1"] forState:UIControlStateNormal]; self.layer.cornerRadius = self.frame.size.width/2; self.layer.masksToBounds = YES; CGFloat bianhight =Mysize/10/2; self.BgView.frame = CGRectMake(self.frame.size.width/2 -Mysize/2, self.frame.size.height/2 -Mysize/2, Mysize, Mysize) ; self.BgView.layer.cornerRadius = self.BgView.frame.size.width/2; self.BgView.layer.borderWidth = bianhight; CGFloat ImageRadius =Mysize - Mysize/5; self.headPortrait.frame = CGRectMake(self.frame.size.width/2 -ImageRadius/2, self.frame.size.height/2 -ImageRadius/2, ImageRadius, ImageRadius); self.headPortrait.layer.cornerRadius = _headPortrait.frame.size.width/2; self.headPortrait.layer.masksToBounds = YES; self.headPortrait.contentMode = UIViewContentModeScaleAspectFill; } #pragma mark 组件构造 -(UIView*)BgView{ if (!_BgView) { _BgView =({ UIView * view = [[UIView alloc]init]; view.backgroundColor = RGB(233, 233, 233); CGFloat bianhight =Mysize/10/2; view.layer.borderWidth = bianhight; view.layer.borderColor = RGBA(164, 164, 164 ,0.6f).CGColor; view.layer.masksToBounds = YES; view; }); [self addSubview:_BgView]; } return _BgView; } -(UIImageView*)headPortrait{ if (!_headPortrait) { _headPortrait =({ UIImageView * imageview = [[UIImageView alloc]init]; imageview.backgroundColor = [UIColor orangeColor]; imageview; }); [self addSubview:_headPortrait]; } return _headPortrait; } #pragma mark 进行组件绘制 - (void)drawRect:(CGRect)rect { Mysize =rect.size.height*0.8; [self initView]; } @end