2010-08-11 53 views
8

可能重複:
MonoTouch.Dialog: Dismissing keyboard by touching anywhere in DialogViewController可以通過觸摸DialogViewController(MonoTouch.Dialog)的背景來解僱iPhone鍵盤嗎?

我使用DialogViewController從MonoTouch.Dialogs。我希望能夠通過點擊對話框的背景來關閉鍵盤。

我通常採用用大自定義按鈕填充視圖並將其放置在所有其他元素之後的技術。但是,我無法在DialogViewController中進行這項工作。我在LoadView中這樣做,它只是凍結了所有其他控件。

是否有一種相對直接的方式來實現我想要的?

回答

7

鑑於控制:

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

     myField.ResignFirstResponder(); 
    } 

編輯:從我讀過,你可以使用的touchesBegan事件的細胞子視圖,而不是表本身。我不積極的作品。祝你好運:)

+0

+1實際上有它在.NET :) – 2010-08-12 00:26:51

+1

+1,因爲它是一個整潔的方法來更一般的問題。但是,它不能解決我與MonoTouch.Dialog有關的問題。這是從UITableViewController後代,它似乎沒有收到TouchesBegan事件。 – dommer 2010-08-12 09:05:49

+0

-1對於原始問題所要求的MonoTouch.Dialog不起作用。 – CDeutsch 2012-02-29 15:17:55

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

您可以通過將問題標記爲重複來幫助我們,而不是將重複問題發佈到重複問題。 – 2012-06-19 17:26:34

+0

我從來沒有這樣做過。我認爲這只是問題下的旗幟鏈接? – valdetero 2012-06-19 17:40:09

+0

是的。在標記對話框中使用「其他」選項。 – 2012-06-19 17:40:50

相關問題