答案是作爲一個可能的解決方案,其他類似的問題提供的,而是在傳統治療不起作用。
總結 -
我有一個類似的問題(一定條件下),並嘗試了一切 - 無濟於事 - 包括在我的可能的解決方案列表是[OBJ的resignFirstResponder],disablesAutomaticKeyboardDismissal的」壓倒一切'爲我的視圖控制器,[self.view endEditing:YES];和一堆其他的東西。
關於確定當前第一響應者的[id],僅僅發現它是零。敲擊鍵盤上的「完成」或使用上述任何方法都不會做任何事情 - 鍵盤保持不變 - 即使在敲擊另一個輸入字段後也是如此。
屏幕本質上是一個ViewController,帶有一個UITableView,每個單元中有一個文本輸入字段 - 總共7或8個。敲擊任何單元格將按預期調出鍵盤,並單擊「下一步」按鈕(隱藏鍵盤和其他處理)按預期工作。 但是,在橫向模式下,鍵盤覆蓋了最後一個字段,要求滾動表格以顯示該字段。
滾動和點擊最後一個輸入字段後,鍵盤不能被解除 - 無論如何。唯一的解決方法是將表格滾回鍵盤下方,然後點擊「下一步」按鈕。這沒有意義。
幾乎在放棄(並實現解決方法)的時候,解決方案的工作是讓最後一個輸入字段成爲firstResponder(即使它已經有一個閃爍的光標),然後在resignFirstResponder之後。
所以;
` - (無效)actionNext {
[[m_arrInputFields objectAtIndex:7] becomeFirstResponder];
[[m_arrInputFields objectAtIndex:7] resignFirstResponder];
}`
固定的問題 - 而[m_arrInputFields objectAtIndex:#任何其他索引#] 沒有!
將是巨大的,如果任何人都可以提供清晰和對此的解釋 - 其他 - 我希望這樣可以節省別人工作了幾個小時!
聽起來像一個錯誤。我建議在bugreport.apple.com上提交報告。 – 2010-05-10 21:10:06
當textFields在modalPresentationStyle = UIModalPresentationFormSheet – 2010-07-06 20:39:08
的模態視圖中時也有同樣的問題,我也遇到了這個bug。 – 2010-07-13 14:59:36