2008-11-09 80 views
1

我有一個顯示貨幣值的自定義UILabel子類。我只希望用戶能夠輸入數字,並讓視圖將這些數字格式化爲貨幣值 - 如收銀機。這使得UITextField成爲這種輸入的不恰當選擇。帶鍵盤輸入的自定義UIView?

我已經覆蓋則hitTest:使的UILabel將返回本身 - 這顯然是一個錯誤。另外,我重寫了canBecomeFirstResponder和becomeFirstResponder以返回YES。雖然這些方法都沒有被調用。

我只想讓用戶鍵入數字並使用退格鍵。我已經實現了UITextInputTraits,但鍵盤沒有出現。那麼,這可以做到嗎?如果是這樣,我錯過了什麼?

+0

您是否試過使用`UIControl`繼承幷包裝`UILabel`實例? – postmechanical 2015-11-03 22:52:21

回答

1

我做了這樣的事情。子類UITextField,使其文本顏色清晰,並在其頂部粘貼標籤以顯示格式化版本。

編輯 - 實際上,嚴格來說,你甚至不需要繼承它。只需實現委託方法(-textField:shouldChangeCharactersInRange:replacementString :),將標籤添加到UITextField,然後根據需要設置標籤的文本格式。

+0

一個問題:插入點可以隱藏嗎? – Alex 2008-11-09 22:57:06

1

好的,我已經回答了我自己的問題:置於UITextView頂部的UILabel也會隱藏插入點,但仍然可以成爲第一個響應者並獲得輸入。

謝謝!