2011-12-01 58 views
0

我有一個應用程序,它在IOS 5發佈之前工作得非常好。我已經設法修復了升級造成的大多數問題,但是我無法讓鍵盤收回。我的其他應用程序設法在iOS 5下完成它,但我錯過了這個應用程序的東西。該應用程序會滾動一個大型PDF文件,而textField則會將用戶帶到特定頁面。當鍵盤出現時,它會覆蓋textField,只有Pdf可見。在4.2下,當按下Pdf鍵盤時,鍵盤會縮回,但不適用於IOS 5.我使用下面的代碼,但它不會被調用,而在我的其他應用程序中,成功調用了代碼後,我錯過了什麼。鍵盤不能在IOS 5下退回

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if(textField == pageNo){ 
    [pageNo resignFirstResponder]; 
    } 
    return YES; 
} 
+0

回調本身沒有被調用,或者if條件沒有通過? –

+0

如果沒有人回答這個問題,我會嘗試:-)附上你的用戶界面的屏幕截圖可能會很有用。這聽起來像是你的屏幕上半部分有一個PDF文件,而下半部分有一個文本字段(因爲它被鍵盤覆蓋)。這似乎不是一個非常好的用戶界面。 PDF視圖是什麼類型的對象?當你點擊它時,文本字段是否會得到'textFieldDidEndEditing'回調?你是否正確地在文本字段上設置了一個委託? –

+0

回調本身並沒有被調用,我在第一個條件上放置了一個斷點,並且它永遠不會被使用。你對應用程序的描述是正確的,我猜這個設計並不理想,但它與導航鍵一起位於底部的工具欄上,所以我將它們放在一起。工具欄上有buttun << < > >>以及一個索引,當然還有textField用於輸入你想要去的頁碼。我添加了textFieldDidEndEditing,也沒有被調用。您的最後一條評論聽起來可能是這個原因,我將文本字段設置爲文件所有者。 – user616076

回答

0

快速修復的想法?把它放在pdf視圖觸摸處理程序?

if ([pageNo isFirstResponder]) [pageNo resignFirstResponder];

+0

感謝您的想法。我正在使用webView來顯示沒有任何觸摸處理程序的Pdf。如果你在除IOS 5以外的任何其他IOS中觸摸webView/Pdf,它將毫無問題地收回 – user616076

+0

在上面的代碼行中找到一個方法。我使用了「退出事件結束」來調用在textField上使用resignFirstResponder的IBAction。這不是很漂亮,但它的工作。 – user616076

+0

酷,只要它適用於iOS 4和5,因爲它應該:) – mackross