2009-06-01 59 views
0

我有一個自定義的UITableViewCell,並在其中連接到單元控制器的UIScrollView。當我將文本分配給滾動視圖時,某些單元格會獲取正確的文本,其中一些爲空白,一些重新顯示舊文本,另一些則將滾動視圖剪切到第2行或第3行文本的周圍。這似乎隨​​機會發生什麼。我按照這裏的建議使用計時器來修復空白單元,http://www.bdunagan.com/2008/12/08/uitextview-in-a-uitableview-on-the-iphone/,但這並沒有幫助。我將計時器代碼放在cellForRowAtIndexPath方法中。UITableViewCellView中的UIScrollView,單元格不更新

我也打過電話文本被指定給TextView

[cell.textview setNeedsDisplay]; 

後卻沒有任何影響。

當我使用文本框或標籤時,一切看起來都很好。不過,我需要能夠滾動文字的東西。任何修復或更好的方式的建議?

回答

1

更新:發現這對開發論壇(特別提到您的問題):

https://devforums.apple.com/message/38944#38944

我將跟隨它有一些更詳細信息的鏈接。

// view controller 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    NSArray*  visibleCells = [self.tableView visibleCells]; 

    for (UITableViewCell* cell in visibleCells) 
    { 
      if ([cell.reuseIdentifier isEqualToString:kTextViewCellID]) 
      { 
       [(MTextViewCell*)cell refresh]; 
      } 
    } 
} 

// MTextViewCell 


- (void)refresh 
{ 
    // mucking with the contentOffset causes the textView to redraw itself 
    CGPoint  contentOffset = mTextView.contentOffset; 
    CGPoint  contentOffset1 = { contentOffset.x, contentOffset.y + 1.0f }; 

    mTextView.contentOffset = contentOffset1; 
    mTextView.contentOffset = contentOffset; 
} 

嘗試調用:

[tableView reloadData]; 

在更新所有textViews。

+0

textViews在cellForRowAtIndexPath中更新。我試着調用[tableView reloadData];但它沒有影響。 – 4thSpace

+0

就在退貨單之前;我做NSLog(@「\ nrow =%d textview.text:%@」,row,cell.textview.text);它始終具有正確的價值。但幾乎沒有顯示它。通常這些單元格是空白的。 – 4thSpace

+0

如果您滾動表格,滾動時值是否更新? –