-(instancetype)initWithFrame:(CGRect)frame
{
if (self=[superinitWithFrame:frame]) {
self.layer.cornerRadius =10;
self.layer.shadowOffset =CGSizeMake(4,4);
self.layer.shadowOpacity =0.5;
self.layer.shadowColor = [UIColorblackColor].CGColor;
self.backgroundColor=[UIColorblackColor];
UIImageView *imageView=[[UIImageViewalloc]initWithFrame:CGRectMake(0,0, 200, 200)];
imageView.backgroundColor=[UIColorredColor];
imageView.layer.masksToBounds=YES;
imageView.layer.cornerRadius=100;
[selfaddSubview:imageView];
UIButton *btn=[UIButtonbuttonWithType:UIButtonTypeCustom];
btn.frame=CGRectMake(self.frame.size.width-50,10, 40, 20);
btn.backgroundColor=[UIColorcyanColor];
[btn addTarget:selfaction:@selector(hiddenAction)forControlEvents:UIControlEventTouchUpInside];
[selfaddSubview:btn];
}
return self;
}
-(void)showFromSuperView:(UIView *)superView
{
CGRect rect=self.bounds;
rect.origin =CGPointMake((superView.bounds.size.width - rect.size.width) / 2, 100);
self.frame = rect;
self.alpha =0;
[superViewaddSubview:self];
[UIViewanimateWithDuration:0.4animations:^{
self.alpha =1.0;
}];
}
-(void)hiddenFromSuperView
{
[UIViewanimateWithDuration:0.3animations:^{
self.alpha =0;
}completion:^(BOOL finished) {
[selfremoveFromSuperview];
}];
}
-(void)hiddenAction
{
[selfhiddenFromSuperView];
}
使uiview可以点击push
/** 临时记录自己的导航控制器 ¥¥¥注意这儿必须用weak,如果用strong就循环引用了¥¥¥¥ */
@property (weak, nonatomic) UINavigationController *superNC;
- (void)viewClick
{
//拿到当前的控制器,这个view在正常的时候会在创建后拿到数据模型,所以可以直接推到下一个界面,展示作者的详情
WNXUserInfoDetailViewController *user = [[WNXUserInfoDetailViewController alloc] init];
// ff.view.backgroundColor =[UIColor randColor];
[self.superNC pushViewController:user animated:YES];
}