iOS中UIAlertView3秒后消失的两种实现方法

时间:2022-09-20 09:56:32

一,效果图。

iOS中UIAlertView3秒后消失的两种实现方法

二,代码。

?
1
2
3
4
5
6
7
8
9
10
11
12
- (void)viewdidload {
 [super viewdidload];
 // do any additional setup after loading the view, typically from a nib.
 uialertview* alert = [[uialertview alloc]initwithtitle:nil message:@"此信息3秒后消失" delegate:nil cancelbuttontitle:nil otherbuttontitles:nil, nil];
 [alert show];
 [self performselector:@selector(dismissalert:) withobject:alert afterdelay:3.0];
}
- (void)dismissalert:(uialertview*)alert {
 if ( alert.visible ) {
  [alert dismisswithclickedbuttonindex:alert.cancelbuttonindex animated:yes];
 }
}

下面给大家介绍下uialertview自动消失的两种方法

话说,在写程序的过程中用到很多提示的信息,于是非常自然地就要使用uialertview控件。

但是这些提示的信息有时候只需提示就行,不用操作,那么此时就要这个提示框自动消失就ok了。

uialertview弹出后2s让其自动消失,两种方法:

(1)结合nstimer

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uialertview basealert = nil;
- (void) performdismiss: (nstimer *)timer
{
 [basealert dismisswithclickedbuttonindex:0 animated:no];//important
 [basealert release];
 basealert = null;
- (void) presentsheet
{
 basealert = [[uialertview alloc]
        initwithtitle:@"alert" message:@"\nmessage message message "
        delegate:self cancelbuttontitle:nil
        otherbuttontitles: nil];
 [nstimer scheduledtimerwithtimeinterval:2.0f target:self selector: @selector(performdismiss:)
         userinfo:nil repeats:no];
 [basealert show];
}

(2)使用performselector:withobject:afterdelay:方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- (void) dimissalert:(uialertview *)alert
{
 if(alert)
 {
  [alert dismisswithclickedbuttonindex:[alert cancelbuttonindex] animated:yes];
  [alert release];
 }
}
- (void)showalert{  
 uialertview *alert = [[uialertview alloc] initwithtitle:@"title" message:@"message" delegate:nil
cancelbuttontitle:nil otherbuttontitles:nil];
 [alert show];
 [self performselector:@selector(dimissalert:) withobject:alert afterdelay:2.0];
}

总结

以上所述是小编给大家介绍的ios中uialertview3秒后消失的两种实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!