2017-02-01 7 views
5

के लिए चेतावनी प्राप्त करना मैं अपने दृश्य में UIActionSheet प्रस्तुत कर रहा हूं और एक्शन शीट के बटनों में से एक एक और एक्शन शीट प्रस्तुत करता है। जब मैं iPad पर दूसरी कार्रवाई चादर पेश मैं लॉग में यह चेतावनी संदेश मिल:UIPopoverBackgroundVisualEffectView

UIPopoverBackgroundVisualEffectView इसकी अस्पष्टता चेतन करने के लिए कहा जा रहा है। इस टूटे हुए प्रकट करने के लिए प्रभाव का कारण होगा जब तक अस्पष्टता रिटर्न 1.

यह मेरा कोड है:

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Option"] delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Sort", nil]; 
actionSheet.tag = 1; 
[actionSheet showInView:self.view]; 

और प्रतिनिधि में:

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
    [self showSortAction]; 
} 

-(void)showSortAction {  
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Sort By" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"A-Z", @"Z-A", @"Newer to older", @"Older to newer", nil];   
    actionSheet.tag = 2; 
    [actionSheet showInView:self.view]; 
} 
+0

यह बहुत अस्पष्ट है कि आप क्या पूछ रहे हैं। कृपया अपना प्रश्न संपादित करें। –

+0

चेतावनी संदेश क्या है। अपनी यूआई छवियों और कोड को जो आपने किया है उसे जोड़ें। –

+0

क्या आप डेमो साझा करेंगे? यदि आपको कोई फर्क नहीं पड़ता है, तो मैं इसे जांचूंगा और समाधान –

उत्तर

4

मेरा अनुमान है कि प्रस्तुति है दूसरी एक्शन शीट की पहली एक्शन शीट की अस्पष्टता को बदलने के कारण, जो चेतावनी आप देख रहे हैं उसे ट्रिगर कर रहा है। -showSortAction को -actionSheet:clickedButtonAtIndex: से कॉल करने के बजाय, इसे -actionSheet:didDismissWithButtonIndex: के भीतर से कॉल करें। यह पहला एक्शन शीट स्क्रीन से गायब होने से पहले स्क्रीन से गायब होने के लिए पर्याप्त समय देता है। (UIActionSheetDelegate documentation देखें - विशेष रूप से, क्लिक किए गए और किए गए डिलीवरी विधियों के लिए विवरण टेक्स्ट।)

जबकि हम चालू हैं विषय, हालांकि, ध्यान दें कि UIActionSheet documentation का कहना है कि इसे आईओएस 8 के रूप में बहिष्कृत किया गया है। जब तक आप आईओएस 7 या पुराने के खिलाफ प्रोग्रामिंग नहीं कर रहे हैं, तो जल्द से जल्द UIAlertController में संक्रमण पर विचार करें।

2

@Tim ऊपर सही है।

आपको अब बहिष्कृत यूआईएक्शन शीट का उपयोग नहीं करना चाहिए। actionSheet:didDismissWithButtonIndex: का उपयोग करने के बारे में उनका समाधान पहले काम कर सकता था लेकिन https://stackoverflow.com/a/25044710/1634905 के अनुसार यह अब और काम नहीं करेगा क्योंकि ऐप्पल UIAlertController पर चला गया है।

आपको वास्तव में समस्या को ठीक करने के लिए पुरानी विधि के बजाय UIAlertController पर अपना कोड स्विच करना चाहिए।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^