2010-01-11 99 views
0

我想創建自己的數字鍵盤,在用戶關注文本字段後出現,所以我有兩個問題呢? 1.我使用「界面生成器在我的視圖中添加文本框並選擇」數字鍵盤「作爲用戶輸入數字的默認鍵盤,所以當我點擊文本框時,數字鍵盤會自動出現,我該如何停止它出現數字鍵盤?因爲我想顯示我的數字鍵盤自定義數字鍵盤

2.如果我用數字按鈕在裏面定製一個視圖,當我點擊文本框時如何檢測事件?我添加一個子視圖,以顯示我的自定義數字鍵盤或不?

感謝

回答

0

我有一個部分的答案,但並不是一個理想的一個,我還沒有嘗試過這個自己。看看該文件UI TextFieldDelegate協議。

你可以讓你的控制器設置textField.delegate = self,然後讓它實現textFieldShouldBeginEditing來以某種方式顯示你的專用鍵盤,然後返回NO,這樣它就不會進入編輯模式。當您告訴您的特殊鍵盤顯示自己時,將其傳遞給文本字段的引用,以便它知道在哪裏插入字符。問題是這可能不會顯示光標,也不會讓用戶移動光標來插入字符等。

所以真的這有點難看,但它可能就足夠了。 AFAIK沒有好辦法做到這一點:(

3

如果你正在創建一個自定義數字鍵盤(我認爲這意味着一個按鈕網格視圖),不要打擾使用UITextField;有沒有簡單的方法隱藏原生鍵盤,對於所有這些麻煩,沒有什麼用處,文本字段給你。

我建議創建一個自定義的UIControl子類。您可以檢測視圖內的觸摸並顯示您的自定義鍵盤的方式。文檔解釋了這個很好。

+0

我相信他是正確的,你不會得到任何特殊的使用UITextField,除非有別的你想做的事情。 – Nimrod 2010-01-11 16:49:42