Reference: Http://stackoverflow.com/questions/18729220/uialertview-addsubview-in-ios7
1. SignInViewController.h
#import <UIKit/UIKit.h> @interface signinviewcontroller:uiviewcontroller<uialertviewdelegate>{ Uialertview *remotealertview;} @end
2 , SIGNINVIEWCONTROLLER.M
#import "SignInViewController.h" @interface Signiniewcontroller () @end @implementation signinviewcontroller-(void) dealloc{if (remotealertview) {[Remotealertview release]; } [Super Dealloc];} In the method://Remote WebService method Remotelogic *remotelogic = [[Remotelogic alloc] init]; Start animation [self remoteanimation:@ "getting server time, please wait ..."]; Asynchronously loading Data Dispatch_async (Dispatch_get_global_queue (dispatch_queue_priority_default, 0), ^{//Get WebService data Delegate.servertime = Remotelogic.getservertime; Dispatch_async (Dispatch_get_main_queue (), ^{//Turn off animation [Remotealertview Dismisswithclickedbuttonindex: 0 Animated:yes]; Get WebService data after operation do something}); }); #pragma mark-animation-(void) Remoteanimation: (NSString *) message{if (Remotealertview) {[Remotealertview R Elease]; } Remotealertview = [[Uialertview alloc] initwithtitle:@ "hint" message:message delegate:self cancelbuttontitle:nil Other ButtontitLes:nil, nil]; Uiactivityindicatorview *aiview = [[Uiactivityindicatorview alloc] Initwithframe:cgrectmake (125.0, 80.0, 30.0, 30.0)]; Aiview.activityindicatorviewstyle = Uiactivityindicatorviewstylewhitelarge; Check if OS version is 7 or above. ios7.0 and above Uialertview deprecated the Addsubview method if ([[[Uidevice Currentdevice] systemversion] compare:@ "7.0"]! = nsorderedascending) {[Remotealertview setvalue:aiview forkey:@ "Accessoryview"]; }else{[Remotealertview Addsubview:aiview]; } [Remotealertview show]; [Aiview startanimating]; [Aiview release];}
3. Effect ios5.1,ios7.1.2