को खारिज करने से रोकने के लिए मैं UIAlertController
को खारिज करने से रोकना चाहता हूं।UIAlertController को
मेरे पास UIAlertAction
है जो बस UIAlertTextField में एक स्ट्रिंग जोड़ता है, हालांकि, एक बार टैप किया गया यह दृश्य नियंत्रक [अवांछित] को खारिज कर देता है। मैंने अवांछित परिणामों के साथ एनएसएनोटिफिकेशन जोड़ने का प्रयास किया है।
[alertC canPerformAction:@selector(dismissViewControllerAnimated:completion:) withSender:pasteMessage];
-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion {
UIAlertController *alertController = (UIAlertController *)self.presentedViewController;
UIAlertAction *paste = alertController.actions.firstObject;
if (paste) {
flag = NO;
} else {
flag = YES;
}
}
संपादित करें, मैं UIAlertAction
का दोहन को रोकने के लिए मैं UIAlertController
से रोकने के लिए देख रहा हूँ नहीं देख रहा हूँ:
UIAlertAction *pasteMessage = [UIAlertAction actionWithTitle:@"Paste Message" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
UITextField *textField = alertC.textFields.firstObject;
textField.text = [textField.text stringByAppendingString:[NSString stringWithFormat:@"%@", copiedString]];
}];
मैं भी द्वारा pasteMessage करने के लिए कोई स्थापित करने की कोशिश की है कहा कार्रवाई पर टैप करते समय खारिज कर दिया। कार्रवाई को सक्षम/अक्षम किया जा सकता है, लेकिन मेरा लक्ष्य प्रतिलिपि संदेश को UITextField
में एक क्रिया दबाकर पेस्ट करना है (इसलिए कारण मैं इसे खारिज नहीं करना चाहता)
मुझे भी BOOL सेट करने का एहसास है dismissViewControllerAnimated:
पर इसे पर सेट नहीं किया गया दृश्य नियंत्रक बर्खास्तगी को एनिमेट करता है, मैं नहीं चाहता कि यह वास्तविक बर्खास्तगी प्रक्रिया को रोकने के लिए था। बस उन चीज़ों की पेशकश करना जो मैंने अपने लक्ष्य के संबंध में किया है। मैंने नयाUIAlertController
प्रस्तुत करने का भी प्रयास किया है जब पेस्ट मैसेज UIAlertControllers
कॉपी किए गए संदेश के साथ टेक्स्टफिल्ड ऑटो-पॉप्युलेटिंग, यह काम करता है, लेकिन मुझे लगता है कि यह क्या किया जा सकता है इसके लिए यह बहुत हैकी है।
संभावित डुप्लिकेट [UIAlertController को बर्खास्त करना रोकें] (http://stackoverflow.com/questions/25628000/prevent-dismissal-of-uialertcontroller) –
धन्यवाद @ लिंडसेस्कॉट मेरे प्रश्न का सही समाधान नहीं है। यह टेक्स्टफ़ील्ड पर टेक्स्ट रखने के आधार पर एक बटन को सक्षम करने से रोकता है: यहां उनका समाधान है: '= (tf.text! =" ") 'जो कि दृश्य को बर्खास्त होने से बटन को अक्षम करता है _eventually_ – soulshined
लेकिन मुझे लगता है उस उत्तर का सबसे प्रासंगिक हिस्सा 'UIAlertAction' * का चयन कर रहा है * आपकी चेतावनी को खारिज कर देगा। यदि आप कुछ अन्य व्यवहार चाहते हैं, तो अपना खुद का कस्टम व्यू बनाने का प्रयास करें। –