2010-08-11 9 views
8

संभव डुप्लिकेट:
MonoTouch.Dialog: Dismissing keyboard by touching anywhere in DialogViewControllerक्या मैं DialogViewController (MonoTouch.Dialog) की पृष्ठभूमि को स्पर्श करके आईफोन कीबोर्ड को खारिज कर सकता हूं?

मैं MonoTouch.Dialogs से DialogViewController उपयोग कर रहा हूँ। मैं संवाद की पृष्ठभूमि पर क्लिक करके कीबोर्ड को खारिज करने में सक्षम होना चाहता हूं।

मैं आम तौर पर एक बड़े कस्टम बटन के साथ दृश्य भरने की तकनीक और इसे अन्य सभी तत्वों के पीछे रखने की तकनीक को नियुक्त करता हूं। हालांकि, मैं यह काम DialogViewController में नहीं कर सकता। मैंने लोडव्यू में यह किया और यह सिर्फ सभी अन्य नियंत्रणों को जम गया।

क्या मैं चाहता हूं कि प्राप्त करने का एक अपेक्षाकृत सरल तरीका है?

उत्तर

7

दृश्य नियंत्रक में:

public override void TouchesBegan (NSSet touches, UIEvent evt) 
    { 
     base.TouchesBegan (touches, evt); 

     myField.ResignFirstResponder(); 
    } 

संपादित करें: से मैं क्या पढ़ा है, आप सेल subview के बजाय टेबल खुद के लिए touchesBegan घटना का उपयोग कर सकते हैं। मैं सकारात्मक नहीं हूं जो काम करता है। शुभकामनाएँ :)

+0

+1 वास्तव में .net :) –

+1

+1 में यह होने के रूप में इसे और अधिक सामान्य समस्या के लिए एक साफ तरीका है के लिए। हालांकि, यह MonoTouch.Dialog के साथ मेरी समस्या का समाधान नहीं करता है। यह UITableViewController से निकला है, जो TouchesBegan ईवेंट प्रतीत नहीं होता है। – dommer

+0

-1 मोनो टच के लिए काम नहीं करता है। डायलॉग जो मूल प्रश्न पूछ रहा था। – CDeutsch

1

miguel.de.icaza ने इस प्रश्न का उत्तर एक अलग धागे पर दिया: https://stackoverflow.com/a/10864640/1134836

उनका समाधान:

var tap = new UITapGestureRecognizer(); 
    tap.AddTarget (() =>{ 
     dvc.View.EndEditing (true); 
    }); 
    dvc.View.AddGestureRecognizer (tap); 
+0

डुप्लिकेट प्रश्न के डुप्लिकेट उत्तर पोस्ट करने के बजाय, आप प्रश्न को डुप्लिकेट के रूप में फ़्लैग करके हमारी सहायता कर सकते हैं। –

+0

मैंने पहले कभी ऐसा नहीं किया है। मुझे लगता है कि यह सवाल के तहत सिर्फ ध्वज लिंक है? – valdetero

+0

हां। फ़्लैगिंग संवाद में "अन्य" विकल्प का प्रयोग करें। –

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