2016-04-05 19 views
0

Ich habe folgenden Code:UIAlertView Ladeanzeige ist fast Abseits?

_loadingAlert = [[UIAlertView alloc] initWithTitle:ALERT_TITLE_LOADING 
              message:ALERT_MESSAGE_LOADING 
              delegate:nil 
           cancelButtonTitle:nil 
           otherButtonTitles:nil]; 

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
[indicator startAnimating]; 

[_loadingAlert setValue:indicator forKey:@"accessoryView"]; 
[_loadingAlert show]; 

Ergebnis:

enter image description here

Mein Ziel ist es innerhalb eines Alertview mit Ladeanzeige angezeigt werden, aber das Ergebnis ist so angebracht Screenshot. Jeder hat eine Idee?

+0

Haben Sie bemerkt, dass 'UIAlertView' schon seit einiger Zeit nicht mehr empfohlen wird? Sie sollten stattdessen 'UIAlertController' verwenden. – rmaddy

+0

Ja, ich habe darauf hingewiesen, aber ich muss immer noch iOS 7 unterstützen. – Rendy

+0

Versuchen Sie eine benutzerdefinierte Ansicht, die eine Einfügung am unteren Rand haben würde, die Fortschrittsanzeige hat es nicht. –

Antwort

0

mit diesem Code Versuchen (wie von @ A-Live vorgeschlagen), können Sie die Polsterung Wert einstellen, um mehr Platz auf der Unterseite des Aktivitätsanzeige hinzuzufügen.

_loadingAlert = [[UIAlertView alloc] initWithTitle:ALERT_TITLE_LOADING 
              message:ALERT_MESSAGE_LOADING 
              delegate:nil 
           cancelButtonTitle:nil 
           otherButtonTitles:nil]; 

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
indicator.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 
indicator.translatesAutoresizingMaskIntoConstraints = YES; 
[indicator startAnimating]; 

CGFloat padding = 15; 
UIView *indicatorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, indicator.frame.size.width, indicator.frame.size.width+padding)]; 
[indicatorView addSubview:indicator]; 

[_loadingAlert setValue:indicatorView forKey:@"accessoryView"]; 
[_loadingAlert show]; 
+0

Es funktioniert wie Charme! Vielen Dank! – Rendy

0

Ich würde vorschlagen, Sie versuchen, die MBProgressHUD Cocoapod, wie es scheint genau das, was Sie wollen, und wird iOS 6+ zu unterstützen.

https://github.com/jdg/MBProgressHUD

enter image description here

+0

Ich möchte ähnlich mit UIAlertView, mein Client mag nicht MBProgressHUD Layout .. – Rendy