iOS 弹出一个提示框数秒后消失 延时操作

有时候需要往自己项目上面添加提示信息,如果用AlertView 或者MBProgress 等类库会直接占用到主屏幕需要点一下才能退出,影响用户体验。

下面我自己实现一个由右向左加载的label 用于提示信息,不占用主线程,而且可以设定时间后消失,下面来看具体实现。

代码实现的是点击按钮后向当前的NavigationBar上面添加一条提示信息。

添加Button 设置Butoon响应事件不写,直接看响应方法里面的内容。

-(void)ButtonClicked:(UIButton *)sender{
//添加要用到的Label
    UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 40)];
    label.backgroundColor = [UIColor whiteColor];
    label.font = [UIFont systemFontOfSize:14];
    label.text = @"点击";
    [self.navigationController.navigationBar addSubview:label];
//设置动画
    CATransition * transion = [CATransition animation];
    transion.type = @"push";//设置动画方式
    transion.subtype = @"fromRight";//设置动画从那个方向开始
    [label.layer addAnimation:transion forKey:nil];//给Label.layer 添加动画
//设置延时效果
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{
        [label removeFromSuperview];
    });//这句话的意思是1.5秒后,把label移出视图
}


你可能感兴趣的:(iOS技术总结)