自定制提示信息 框

在工作中, 我们经常要给用户适当弹出的提示框,展示用户的操作后的结果.例如: 清除缓存成功; 密码修改成功...... 今天我就给大家提供一种简便的一种方法,完成这项功能.其工作原理就是利用懒加载, 然后设置 view 的hidden 属性 来完成.具体代码如下:

自定制提示信息 框_第1张图片
自定制AlertView.png

首先在 @interface 把 你要显示的view 设置成自己的self.view 的一个属性:例如我的 successView .

@property (nonatomic, strong) UIView * successView;

利用懒加载 具体实现 展示什么内容

// 懒加载: getter 方法
- (UIView *)successView{
    if (!_successView) {
        _successView  = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 190, 98)];
        _successView.center = self.view.center;
        _successView.layer.cornerRadius = 8;
        _successView.hidden = true;
        _successView.clipsToBounds = true;
        _successView.backgroundColor = [UIColor colorWithRed:145 / 255.0 green:145 / 255.0 blue:145 / 255.0 alpha:0.8];
        
        UIImageView * imageView =[[UIImageView alloc]init];
        imageView.image = [UIImage imageNamed:@"clearSuccess.png"];
        [_successView addSubview:imageView];
        [imageView mas_makeConstraints:^(MASConstraintMaker *make) {
            //make.size.sizeOffset = [UIImage imageNamed:@"clearSuccess.png"].size;
            make.top.mas_equalTo(_successView.mas_top).with.offset(12.5);
            make.centerX.mas_equalTo(_successView.mas_centerX);
            make.width.height.mas_equalTo(32);
        }];
        
        UILabel * titleLabel = [[UILabel alloc]init];
        titleLabel.text = @"清除缓存成功!";
        titleLabel.textColor = [UIColor whiteColor];
        titleLabel.font = [UIFont systemFontOfSize:18];
        titleLabel.backgroundColor = [UIColor clearColor];
        titleLabel.textAlignment = NSTextAlignmentCenter;
        
        [_successView addSubview:titleLabel];
        [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.mas_equalTo(imageView.mas_bottom).with.offset(17);
            make.width.mas_greaterThanOrEqualTo(20);
            make.height.mas_equalTo(18);
            make.centerX.mas_equalTo(_successView.mas_centerX);
        }];
        [self.view addSubview:_successView];
    }
    return _successView;
}

在 点击按钮中实现 切换view 的hidden 属性

/** 自定义视图 */
[self.successView setHidden:false]; // 这里需要修改
//弹框提示1秒后,把这个弹框消失,默认的消失时间有点长
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
   [self.successView setHidden:true];
  });

总结: 这篇文章用到了 一段时间后去执行什么方法,我认为最常用的...(s)或者一段时间去执行方法有以下几种方案:
(1)利用定时去完成
(2)

[self performSelector: @selector(方法名)  withObject: 参数  afterDelay: 时间];

(3)

 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self.successView setHidden:true]; });

你可能感兴趣的:(自定制提示信息 框)