现在的位置: 首页 > 综合 > 正文

ios 提示框 选择对话框 等待框 iphone,ipad

2018年05月28日 ⁄ 综合 ⁄ 共 1098字 ⁄ 字号 评论关闭

等待框:

UIAlertView *showWaitingAlert(){  
    UIAlertView *waittingAlert = [[UIAlertView alloc] initWithTitle: @"正在获取数据"  
                                               message: @"请稍候..."  
                                              delegate: nil  
                                     cancelButtonTitle: nil  
                                     otherButtonTitles: nil];  
      
      
    UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];  
    activityView.frame = CGRectMake(139.0f-18.0f, 80.0f, 37.0f, 37.0f);  
    [waittingAlert addSubview:activityView];  
    [activityView startAnimating];  
      
    [waittingAlert show];  
      
    return waittingAlert;  
  
}  
void dismissWaitingAlert (UIAlertView* waittingAlert){  
  
    if (waittingAlert != nil) {  
        [waittingAlert dismissWithClickedButtonIndex:0 animated:YES];  
        [waittingAlert release];  
       waittingAlert =nil;  
    }  
}

首先,显示一个无按钮的alertView,然后添加一个UIActivityIndicatorView作为alertView的子视图

最后,通过alertView的dismissWithClickedButtonIndex:animated:取消显示alertView。

代码和显示效果都非常优雅

调用方法:

-(IBAction)ButtonOnPress:(id)sender{

G_waitalert = showWaitingAlert();

//定时5秒自动关闭

[self performSelector:@selector(timerCallback) withObject:nil afterDelay:5];

}

其中callback函数为实例函数,不然selector没法用类函数(我不会,呵呵):

-(void)timerCallback{

dismissWaittingAlert(G_waitalert);

}

或者直接在callback里调用全局变量G_waitalert进行操作!

抱歉!评论已关闭.