隐藏指示器(定时任务)-IOS UI基础

 隐藏指示器(定时任务)


定义:在用户的操作过程中,需要弹出一些文字(HUD)来对用户的操作进行相应的提示。然而这些文字只需要出现一定的时间之后,隐藏即可。以下介绍三种方法。

*文中类似<#(nonnull SEL)#>表示需要插入代码的部分


首先创建HUD:

UILabel *HUD = [[UILabel alloc]init];

HUD.text = @"XXXX";


方法一:performSelector

[self performSelector:<#(nonnull SEL)#> withObject:<#(nullable id)#> afterDelay:<#(NSTimeInterval)#>];

//举例:传入hideHud方法,通过改变HUD透明度使其在2秒后消失

[self performSelector:@selector(hideHud) withObject:nil afterDelay:2.0];

-(void)hideHud{

    HUD.alpha = 0;

}


方法二:GCD

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<#delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

<#code to be executed after a specified delay#>

});

//举例:在1秒后,通过改变HUD透明度使其消失

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

HUD.alpha = 0;

});


方法三:NSTimer

[NSTimer scheduledTimerWithTimeInterval:<#(NSTimeInterval)#> target:<#(nonnull id)#> selector:<#(nonnull SEL)#> userInfo:<#(nullable id)#> repeats:<#(BOOL)#>];

//举例:传入hideHud方法,通过改变HUD透明度使其在1.5秒后消失

[NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(hideHud) userInfo:nil repeats:NO]; 

-(void)hideHud{

HUD.alpha = 0;

}

你可能感兴趣的:(隐藏指示器(定时任务)-IOS UI基础)