2010-08-20 13 views

उत्तर

17

मुझे यकीन नहीं है कि आप क्या हासिल करना चाहते हैं, लेकिन शायद यह आपकी मदद कर सकता है: UIKeyboardWillHideNotification और/या UIKeyboardDidHideNotification प्राप्त करने के लिए NSNotificationCenter के साथ पंजीकरण करें।

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(myKeyboardWillHideHandler:) 
              name:UIKeyboardWillHideNotification 
              object:nil]; 

... 

- (void) myKeyboardWillHideHandler:(NSNotification *)notification { 
    NSLog(@"Keyboard wants to hide. What a coward."); 
} 
+0

thaaaaank आप अच्छा काम करता है लेकिन UIKeyboardWillHideNotification मैं दिखाएगा का उपयोग करने के बजाय ... मेरे लिए अच्छा काम करता है – Momi

0

viewDidLoad

// register to track event when user presses hide keyboard button on bottom right cornor for iPAD 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldShouldReturn:) name:UIKeyboardWillHideNotification object:nil]; 

को यह रख दिया और यह जब नीचे बटन कीबोर्ड iPad में दबाया जाता है अपने - (BOOL)textFieldShouldReturn:(UITextField *)textField; प्रतिनिधि विधि कहा जाता है करने के लिए कर देगा।

0

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector (textFieldShouldReturn :) नाम: UIKeyboardWillHideNotification ऑब्जेक्ट: nil];

यह वास्तव में चलने पर दुर्घटनाग्रस्त हो जाता है।

लेकिन आप की तरह एक कस्टम विधि, फोन करता है, तो: [[NSNotificationCenter defaultCenter] addObserver: स्वयं चयनकर्ता: @selector (myCustomeMethodToResignTextFieldResponder) नाम: UIKeyboardWillHideNotification वस्तु: शून्य];

तो यह ठीक काम करेंगे .. :-)

0

जावास्क्रिप्ट

साथ मैं आईपैड iOS7 के लिए एक workaroud पाया। मैं यह सुनिश्चित करने के लिए आईओएस 8 पर परीक्षण करूंगा कि यह काम करता है। तो मूल रूप से मैं प्रत्येक फोकसट घटना (मेरे सभी ग्रंथों के लिए) पर एक श्रोता बनाता हूं और मैं अपना कार्य कहता हूं।

जब आपका कीबोर्ड खुलता है और जब आप अपना "कीबोर्ड" बंद करते हैं तो यह आग लग जाता है। जब आप कोई अन्य टेक्स्ट फ़ील्ड या बटन चुनते हैं तो यह आग नहीं होता है, क्योंकि यह शून्य पर लक्षित होता है। यदि आप कीडाउन के साथ संयोजन में उपयोग करते हैं, तो आप एकाधिक मान सहेज सकते हैं और अपना सबमिट फ़ंक्शन केवल तब कॉल कर सकते हैं जब आप अपना कीबोर्ड छोड़ दें।

document.addEventListener('focusout', function(e) { 
     if (e.relatedTarget == null){ 
      alert("close keyboard without click on something else"); 
      callYourFunction(); 
      } 
    }); 
संबंधित मुद्दे