自定制提示信息 框

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

自定制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]; });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容