2011-11-24 25 views
1

我在應用商店有一個很不錯的應用程序,它本身很不錯。在iOS 5上市之前,生活非常棒。現在,我的應用有很多問題,我無法修復,因爲我不知道發生了什麼,因爲我覺得他們是iOS 5問題,而不是我的。iOS 5問題:拉起UITextView時消失的鍵盤

我錯過了一個iOS 5轉換手冊嗎?或者他們只是爲了好玩而改變一切,並且希望我們弄清楚所有的復活節彩蛋在哪裏?

這是我遇到的一個問題(我浪費了很多時間試圖修復),當我只是說我想要運行良好的應用程序4.2:

消失鍵盤

所以,當我拉了一個簡單的模式的看法,我選擇的tableView細胞,然後我提出一個TextView,使用戶可以輸入一些文字。當textView變得可見時,我調用[textView becomeFirstResponder];使鍵盤啓動並準備好供用戶使用。這是第一次。然後,當你關閉modalView(並得到我剛剛提到的奇怪錯誤),然後嘗試返回到modalView,並拉起textView,鍵盤飛走!你看到它幾分之一秒,然後POOF它消失了。我有一個textView,我的光標處於活動狀態,我正在嘗試編輯,但是我的鍵盤拒絕顯示。同樣,這在4.2中完美工作,但不在5中!

我已經嘗試了一切在陽光下得到這些問題的工作,但我不能讓他們工作。我該怎麼辦?我覺得這些是操作系統方面的錯誤,不是我的!

感謝您的幫助。

編輯:

更清楚,我將在我試圖用我的視圖層次來完成。當我顯示我的模態視圖時,我有兩個不同的單元格,我填滿了一些文本。第二個單元格應該是可編輯的,所以當用戶點擊單元格時,我取消隱藏了隱藏在viewDidLoad上的UITextView,並調用[textView becomeFirstResponder];在textView上,它工作正常。 textView是可編輯的,當鍵盤被解除時,它隱藏和更新適當的單元格內容。

問題是,當我關閉模態視圖,然後回到模態視圖,並選擇可編輯的單元格,textView顯示得很好,它是可編輯的,但鍵盤閃爍到屏幕上,但然後飛走,不會顯示。所以我有我的textView那裏和可編輯的,但盡我所能,鍵盤不會顯示!這絕對讓我瘋狂,尤其是因爲它在iOS 4.2上完美運行。

+0

請注意您選擇的標題 - 請參閱http://stackoverflow.com/faq#howtoask。我這次編輯了你的問題。 – JMax

+0

謝謝。對不起,我想我只是有點被帶走了。 – Lizza

+1

你也可以考慮將這些分解成單獨的問題。 –

回答

0

好吧,我只是能夠弄清楚火焰正在發生什麼。我將shouldAutorotateToInterfaceOrientation的值設置爲BOOL變量,該變量可能會從TURE或FALSE變化,因此當modalView回來時,有可能不知道狀態欄的狀態/大小。通過手動將其設置爲TRUE,它解決了問題,並且問題消失。

+0

您好,gwen,我遇到了同樣的問題。你能更清楚你的解決方案嗎? shouldAutorotateToInterfaceOrientation返回一個BOOL是不是正確的方法? –

+0

我很抱歉含糊不清,我更新了我的答案。祝你好運 – Lizza

0

我剛剛在蘋果開發者網站this page上發現。我不知道它是否正確,但有一些文檔稱爲「iOS 4.x API差異」。似乎是從4.x到5.x的差異列表。希望這可以幫助。再見

+0

你可能會考慮研究與他有關的API差異題。好的答案是有幫助的。 :) –

+0

我知道我應該,但問題是我沒有足夠的iOS編程經驗來準確地尋找他/她需要的東西。對不起。 – Pit

+0

http://startupquote.com/post/2163563107(從本網站的聯合創始人Jeff Atwood以外):) –

1

我感覺它與你提出和解除模態觀的方式有關。蘋果推出了一種新的方法來呈現視圖。你可以嘗試使用這些提示而不是舊的提示,看看它是否能解決你的問題。

因此,這裏是你怎麼做:

改變這個方法:

presentModalViewController:animated: 

與iOS 5中引入的新首選方法:

presentViewController:animated:completion: 

取決於如果您正在使用dismissModalViewControllerAnimated:到解散你的觀點,把它改成dismissViewControllerAnimated:completion

這種方法也有完成處理程序,這是非常有用的做了一些額外的工作後,視圖已被提交/駁回。也許這也有助於解決其他問題。讓我知道如果這可能有幫助。

+0

嘿,我非常感謝你的回答。我繼續前進並更新了我的提交/解僱方法(與塊無關),但它不能解決任何問題。我需要運行一個塊嗎?我應該在做什麼?謝謝! – Lizza

+0

將NULL作爲塊傳遞。但這個傷口變化解決了我猜想的問題。你是什​​麼意思「拉起TextView」。你在使用任何手勢嗎?對我來說,這聽起來像你的視圖層次結構出了問題。你可以編輯你的問題,並解釋如何設置viewControllers層次結構? –

+0

不幸的是沒有任何工作。我繼續編輯這個問題,以更好地解釋我正在嘗試做什麼。謝謝你的幫助! – Lizza