2010-07-16 13 views
8

So habe ich den Code auf das iPad aktualisiert (d. H. In eine universelle App umgewandelt). Das UIAlertview-Rendering scheint jedoch für IOS4 deaktiviert zu sein. Anstatt in der Mitte positioniert zu sein, springt es hoch und wird oben angezeigt, wobei die Hälfte der Box abgeschnitten ist. Gleiches gilt für die Ausrichtung im Querformat.iphone zu ipad, iphone 4 uialertview probleme

Ich verstehe, dass die UIalertview immer in der Mitte liegt? Ich habe den Code durchgesehen und den Frame/die Position nirgendwo im Code eingerichtet. Dies geschieht nur für 4.0, sowohl auf dem iPhone 4 und dem iTouch Running 4.0. Jede andere Version ist in Ordnung, einschließlich des ipad. Irgendwelche Gedanken?

Danke.

+0

wie sieht dein create aus? Hast du einen Titel und Inhalt oder nur den einen oder anderen? Ich sah das Gleiche und musste den Rahmen sowieso anpassen, also hast du versucht, den Rahmen zu bewegen? – AtomRiot

+0

Ich debugge dies eigentlich für jemand anderen. Mit create meinst du die Zuweisung und Initialisierung? Ich denke, es hat Titel und Inhalt. Ich schaute auf die Initialisierung und sah keine Frame-Verwendung. Ich werde es noch einmal überprüfen. Aus Neugier, zeigt dies nur auf 4.0 und nicht die anderen Versionen für Sie, und nur nach dem Upgrade auf universal? – user396004

Antwort

1

Scheint ein Fehler zu sein. Ich hatte auch das Problem auf dem iPad mit iOS 3.2.

Lösung:

a) Überprüfen Sie Ihre App-Status: In iOS 4 nur

verwenden
[UIApplication sharedApplication].applicationState 

Ältere iOS: Speichern Sie Ihre App-Status manuell:

-(void)applicationWillResignActive:(UIApplication *)application 
{ 
    self.appIsInBackground = YES; 
} 

-(void)applicationWillTerminate:(UIApplication *)application 
{ 
    self.appIsInBackground = YES; 
} 

-(void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    // Open your UIAlert here if self.appIsInBackground == YES; 

    self.appIsInBackground = NO; 
} 

b) öffnen UIAlert nachdem die App aktiv wurde, wie oben in den Kommentaren gezeigt.

0

Hat Ihre Warnung Textfelder hinzugefügt?

Da in 4.0+ iOS scrollt die Alertview zu sichtbaren Teil, wenn Sie ein Textfeld in der Alertview haben.

0

Ich habe das gleiche Problem für iPad 3.2, wenn Anwendung resign aktiv und in dieser Zeit Alarm wird angezeigt, dass die Warnung wird in der oberen linken Ecke angezeigt. Also habe ich behoben mit folgendem Code in der Methode - (void) applicationDidBecomeActive: (UIApplication *) -Anwendung