2011-09-13 107 views
3

使用Reflection API自動生成UI。MonoTouch.Dialog:關閉鍵盤

如何在用戶選擇新字段時關閉鍵盤,或者他們選擇了生成新視圖以從中選擇的字段。在後一種情況下,當用戶返回到第一個屏幕時,舊鍵盤仍然存在。

回答

9
UIView.EndEditing(bool force); 

以上將隱藏鍵盤爲您而無需知道誰是第一響應者。我沒有用反射API做很多事情,但是當選擇一個元素時,你應該可以在視圖上調用它。

Apple Docs - endEditing:

0

檢查ResignFirstResponder方法。我猜這個應該可以幫到你。

5

澄清那些最初與質詢的MonoDialog部掙扎:

的EndEditing方法不適用於DialogViewControllers對象直接(誰從UITableViewControllers繼承)。您應該在DialogViewController的視圖上調用EndEditing(bool),而不是試圖在實際的DialogViewController本身上調用EndEditing(bool)。

澄清:

DialogViewController dc; dc.View.EndEditing(true); UIView對象包括EndEditing(bool)方法,但UITableViewControllers不從UIView繼承,因此EndEditing方法在控制器本身上不可用。 UITableViewControllers包含一個視圖對象,在該視圖對象上調用EndEditing。