2010-07-16 17 views
8

इसलिए मैंने कोड को आईपैड में अपग्रेड कर दिया है (यानी एक सार्वभौमिक ऐप में परिवर्तित)। हालांकि, आईआईएस 4 के लिए यूआईएलर्टव्यूव रेंडरिंग बंद है। बीच में तैनात होने के बजाय, यह कूदता है और शीर्ष पर प्रदर्शित होता है, आधे बॉक्स काट दिया जाता है। परिदृश्य अभिविन्यास के लिए ही चला जाता है।आईपैड से आईफोन, आईफोन 4 यूयलर्टव्यू समस्याएं

यह मेरी समझ है कि UIalertview हमेशा मध्य में सेट होता है? मैंने कोड को देखा और मैंने कोड में कहीं भी फ्रेम/स्थिति सेट नहीं की। यह केवल 4.0 के लिए होता है, आईफोन 4 और आईटouch दोनों 4.0 पर चल रहा है। आईपैड समेत हर दूसरे संस्करण ठीक है। कोई विचार?

धन्यवाद।

+0

क्या अपने तरह लग रहे बनाता है: (शून्य) applicationDidBecomeActive - तो मैं विधि में निम्नलिखित कोड का उपयोग कर तय? क्या आपके पास शीर्षक और सामग्री है या सिर्फ एक या दूसरा है? मैंने यह वही चीज़ देखी और फ्रेम को समायोजित करने के लिए समाप्त हो गया, तो क्या आपने फ्रेम को स्थानांतरित करने का प्रयास किया? – AtomRiot

+0

मैं वास्तव में किसी और के लिए इसे डिबग कर रहा हूं। बनाकर, क्या आपका आवंटन और प्रारंभिक मतलब है? मुझे लगता है कि इसमें एक शीर्षक और सामग्री दोनों हैं। मैंने शुरुआत को देखा और कोई फ्रेम उपयोग नहीं देखा। मैं फिर से जांच करूंगा। जिज्ञासा से, क्या यह केवल 4.0 पर दिखाता है, न कि आपके लिए अन्य संस्करण, और केवल सार्वभौमिक के उन्नयन के बाद? – user396004

उत्तर

1

एक बग लगता है। आईओएस 3.2 के साथ आईपैड पर भी समस्या आई थी।

समाधान:

क) अपने अनुप्रयोग राज्य की जाँच करें: आईओएस 4 में बस का उपयोग

[UIApplication sharedApplication].applicationState 

पुराने आईओएस: अपने एप्लिकेशन राज्य मैन्युअल रूप से संग्रहीत करें:

-(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; 
} 

ख) खोलने ऐप के सक्रिय होने के बाद यूआईएलर्ट, जैसा टिप्पणियों में ऊपर दिखाया गया है।

0

क्या आपके अलर्ट में कोई टेक्स्टफील्ड जोड़ा गया है?

क्योंकि 4.0+ आईओएस में दृश्यमान दृश्य में अलर्टव्यू स्क्रॉल करता है यदि आपके पास अलर्टव्यू में टेक्स्टफील्ड है।

0

एप्लिकेशन को इस्तीफा देने पर आईपैड 3.2 के लिए एक ही समस्या है और उस समय अलर्ट दिखाया गया है कि अलर्ट शीर्ष बाएं कोने पर दिखाया जाएगा। (UIApplication *) आवेदन

//Check that key window is alert view 
if ([[[UIApplication sharedApplication].keyWindow description] hasPrefix:@"<_UIAlertOverlayWindow"]) { 
    //Yes then check for subviews tht are alertViews 
    UIWindow *alertViewWindow = [UIApplication sharedApplication].keyWindow; 
    NSArray *subViews = [alertViewWindow subviews]; 
    for (UIView *subview in subViews) 
    { 
     if ([subview isKindOfClass:[UIAlertView class]]) 
     { 
      //Retain it 
      UIAlertView *alertView = (UIAlertView *)[subview retain]; 
      //Now dismiss it and then show it again 
      [alertView dismissWithClickedButtonIndex:0 animated:NO];//Here ClickedButtonIndex must be according to cancel button 
      //Show the alert view again 
      [alertView show]; 
      //Release previsous retained object 
      [alertView release]; 

     } 
    } 
}