2010-05-03 68 views
10

這必須是某種新手的錯誤,我只需要’就可以了,而且我會感謝提示什麼要檢查或在哪裏尋找。當進入UITextField時,iPhone鍵盤不會出現

我跟着一個iPhone教程,有一個UITextField,確保我連接IBOutlet的文本字段,它似乎編譯正確(沒有錯誤或警告)。但是當我在模擬器下運行它,並在該字段中單擊時,我不會讓’獲得鍵盤,因此我可以在該字段中輸入任何內容。

我’已經嘗試在網站上搜索類似的問題,我發現的所有問題都是一些問題,其中開發人員嘗試使用多個控制器設置一些複雜的UI,並且似乎是同一個問題,但原始的海報只是說他通過開始一個新項目並移植代碼來解決它。我喜歡找到一個實際的解決方案,所以我不想嘗試隨機重建項目,當這個問題再次出現時,我不需要’。

謝謝!

+0

有同樣的問題,我有4個應用程序已經在AppStore上,這是我第一次看到這個!正在讓我發瘋。 – jsicary 2010-08-28 06:05:28

回答

3

什麼是連接到UITextField的代表?你確定代理功能,特別是- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 正在返回正確的東西(在這種情況下是)?

+0

本教程不要求與委託的連接,只有一個委託給視圖控制器中的IBOutlet。我已經通過另一個教程,也有沒有委託的UITextField,簡單地連接到視圖控制器的IBOutlet,那一個工作。 如果有任何幫助,我遇到困難的教程是Mark和LaMarche的「Beginning iPhone 3 Development」。 – Norm 2010-05-03 16:03:12

1

不知道這是否是別人的問題,但我在模式顯示的TabBar控制器中使用TextField,並且在主視圖控制器中添加了搖動手勢。這不幸意味着我在viewDidLoad中設置了[self becomeFirstResponder]。在這種情況下,當我的模態視圖顯示它不成爲第一響應者,因此鍵盤不顯示。

爲了解決它,我在調用模態顯示之前添加了[self resignFirstResponder],並且一切都很好!耶(只花了五天的時間來弄清楚)。

+0

對我不起作用:( – jsicary 2010-08-28 17:37:44

1

Basicly你需要做的唯一的事情就是聲明的文本字段中.H

IBOutlet UITextField *textField

然後用相同的名稱申報財產

@property (nonatomic, retain) UITextField *textField;

然後確保你在.m中合成

@synthesize textField;

,那麼你必須到外地的界面生成器

6

鏈接確保父容器有用戶交互啓用檢查。單個控件對此進行檢查是不夠的。 UIView可能會無意中得到這個取消選擇。

有一件事你應該檢查是爲了確保包含視圖(的UIView包含的所有控件),這是在Interface Builder筆尖瀏覽器查看圖標,已使用戶交互檢查。如果父容器沒有被檢查過,即使單獨的控件有,你會看到這種行爲。

+0

謝謝!我的視圖有用戶交互啓用未選中。我正在通過Aress的書,我沒有選中該視圖,當我應該確保它沒有選中圖像視圖I添加 – 2011-09-10 22:43:35

16

只是爲了在排除故障時覆蓋所有的基礎,請確保它不是導致此問題的iOS模擬器。我在進入UITextView時沒有看到鍵盤出現,事實證明,模擬器允許您在顯示虛擬鍵盤和只使用筆記本電腦的鍵盤之間切換。

您通過兩個之間切換:

Hardware>Keyboard>Toggle Software Keyboard

或按Cmd的+ K

(我的資料來源:https://stackoverflow.com/a/24401535/1700540

所以一定要確保你沒有誤切換模擬器只使用物理鍵盤! ...就像我有

+1

是的,就是這樣。 – sabiland 2014-10-30 07:49:59