2011-01-07 51 views
0

我想顯示比標準鍵盤不同的圖(a選取器控件,或日期選擇器,例如)當一個文本字段變爲第一響應(即獲得焦點)。這將非常好,因爲目前我將包含我的選取器控件的自定義視圖推送到用戶選擇選項的導航堆棧上,然後點擊「確定」或「取消」按鈕。是否可以更改MonoTouch中的默認InputView?

根據the documentation for UITextField.InputView

分配一個自定義視圖此 屬性將導致該視圖中 呈現代替。

但是,它是隻讀的!

對此有一個解決方法嗎?我是否需要實現自定義UITextField控件並以某種方式覆蓋InputView屬性?我是否需要調用某種本地函數?我真的很喜歡不得不做的任何這些東西,但如果我必須這樣做,就這樣吧。提前致謝!

回答

2

該文檔略有過時。自從MonoTouch 3.2.0以來,有一個安裝程序。

+0

我一定不能使用最新版本的...謝謝。 – Pwninstein

+0

我正在使用3.1.3。我剛剛升級到3.2.4版本,現在可以運行 - 謝謝! – Pwninstein

0

線向上的UITextField處理適當的編輯事件,在事件處理程序中選擇你想要的KeyboardType。如果您不需要動態設置它,那麼您可以在創建文本字段時設置屬性。

UITextField tf; 
... 
tf.KeyboardType = UIKeyboardType.PhonePad; // whatever kb you want 
1

Kevin's answer將努力爲UIKeyboardType鍵盤,但據我所知(我可能是錯的),你不能提出一個自定義鍵盤這種方式。

我知道如何呈現的自定義鍵盤的唯一方法是重寫InputView您希望存在於輸入視圖中的UIViewController

UIView keyboardView; 

public override UIView InputAccessoryView { 
    get 
    { 
     // create the view as you'd like here 
     return keyboardView; 
    } 
} 
相關問題