2011-06-29 86 views
0

我有一個表包含多個自定義tableViewCells,其中每個包含一個textField。我發現的是,如果我將文本輸入到一個文本字段中,並且(不按鍵盤上的完成按鈕)將文本字段滾動到屏幕外以將文本輸入到另一個單元格中,則應用程序在視圖更改時會崩潰。這在橫向模式下最常出現,因爲當前的tableViewCell需要滾動到屏幕外以在視圖更改時生成錯誤。自定義tableViewCell resignFirstResponder當滾動屏幕外

我相信發生的事情是,當單元格離開屏幕時,單元格和鍵盤之間的連接斷開,當視圖發生更改時,刪除它們的鍵盤以顯示不可見(不存在)的文本字段碰撞。

我相信這是一個簡單的修復,但我還沒有找到它。

在此先感謝。

+0

實測溶液這裏:http://stackoverflow.com/questions/5000785/resignfirstresponder-to-uitextviews-on-uitableviewcells-that-are-no-longer-on-scr 我需要設置所述標識符.xib以及.m文件中 – ShouldBeWriting

+0

您需要證據。要收集它,請嘗試調試並粘貼崩潰日誌以及您的問題。 – ZhangChn

回答

0

你可以嘗試這樣的事情:

CustomUITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Gioni"]; 

// If no cell is available, create a new one using the given identifier. 
if (cell == nil) { 
    cell = [[[CustomUITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Gioni"] autorelease]; 
} 
else 
{ 
    [cell resignFirstResponderForObjectInCell]; 
} 

這樣,當你的電池(一個與你的特殊的標識符)將被重用你就會知道......所以這意味着它的關閉屏幕。在重新制作另一個喜歡它的人之前,您可以讓它退出第一個響應者狀態。