今天看《iPhone开发秘籍》,有段代码非常优雅的完成了这个功能,如下:
- -(void)performDismiss
- {
- [baseAlertdismissWithClickedButtonIndex:0animated:NO];
- }
- -(void)action:(UIBarButtonItem*)item
- {
- baseAlert=[[[UIAlertViewalloc]initWithTitle:@"PleaseWait"message:nildelegate:selfcancelButtonTitle:nilotherButtonTitles:nil]autorelease];
- [baseAlertshow];
- //Createandaddtheactivityindicator
- UIActivityIndicatorView*aiv=[[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
- aiv.center=CGPointMake(baseAlert.bounds.size.width/2.0f,baseAlert.bounds.size.height-40.0f);
- [aivstartAnimating];
- [baseAlertaddSubview:aiv];
- [aivrelease];
- //Autodismissafter3seconds
- [selfperformSelector:@selector(performDismiss)withObject:nilafterDelay:3.0f];
- }
首先,显示一个无按钮的alertView,然后添加一个UIActivityIndicatorView作为alertView的子视图
最后,通过alertView的dismissWithClickedButtonIndex:animated:取消显示alertView。
代码和显示效果都非常优雅
其中,UIActivityIndicatorView就是代替了我之前代码中gif图片的作用。
转自http://blog.csdn.net/xianpengliu/article/details/6591592