2010-12-10 10 views
1

私はUITextFieldでカスタム入力ビューを使用しています。それは素晴らしい作品です。カスタムのInputView(モノトゥッチ)でUITextFieldの標準キーボードに戻る

しかし、特定の条件では、標準のキーボード入力に戻す必要があります。直感的に、InputViewプロパティをnullに設定しようとしていますが、これは機能しません。例外がスローされます。

UITextField.InputViewの実装を見てみると、それは次のように起動します:

public void set_InputView(UIView value) 
{ 
    if (!value) 
    { 
    throw new ArgumentNullException(value); 
    } 
... 

だから、nullにInputViewを設定することは一切外出先ではないことは明らかであるが...

誰もがどのようにそれができる知っています終わり?

はあなた

答えて

2

これは、バインディングのバグだったが、私はそれを修正しましたありがとうございました、次のリリースはヌル受け入れます。その間、回避策を使用してnullに設定することができます。

NSObject nil = new NSObject (IntPtr.Zero); 
this.InputView = nil; 
+0

ありがとうございます。残念ながら、それはコンパイルされません:エラーCS0266: 'MonoTouch.Foundation.NSObject 'を' MonoTouch.UIKit.UIView'に暗黙的に変換することはできません。明示的なキャストを追加した場合this.InputView =(UIView)nil - コンパイルされますが、実行時にInvalidCastException :-( – Incidently

+0

が失敗してしまいます。このInput.InputView =新しいUIView(IntPtr.Zero)を使用して動作しているようです。適切な回避策?あなたの助けをもう一度お返事します – Incidently

+0

それは、次のバージョンまでは受け入れ可能な回避策です、そのちょっとしたハックですが、ちょうど貧弱なスタイルのためです。 –