2011-06-05 58 views
0

我的表格只有2個部分。我有一個UITextView作爲我的表的第二部分的子視圖。以及第一部分中可能的引號列表。將文本從UITextView中移出屏幕後保留文本

我在哪裏,一旦用戶選擇特定報價且其被「粘貼」到UITextView的,像這樣的一個問題:

replyTextView.text = [NSString stringWithFormat:@"@%@ UserName writes... \n[\"%@\"]", replyPostCode,[separatedString objectAtIndex:indexPath.row]]; 

或類型的文本TextView的,此前他們從TextView的滾動離開所以它不在屏幕上被清除。我想這是因爲我一直從我的表釋放吧..

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString *CellIdentifier = @"Cell"; 
NSString *replyCellIdentifier = @"replyCell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if (cell == nil) { 
    if ([indexPath section] == 0) { 
     cell = [self CreateMultilinesCell:CellIdentifier];  
    } 
    else if ([indexPath section] == 1) { 
     //NSLog(@"TextField"); 
     cell = [self CreateMultilinesCell:replyCellIdentifier];  
     if ([indexPath row] == 0) { 
      replyTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 300, 150)]; 
      //replyTextView.adjustsFontSizeToFitWidth = YES; 
      replyTextView.textColor = [UIColor blackColor]; 
      replyTextView.keyboardType = UIKeyboardTypeASCIICapable; 
      replyTextView.returnKeyType = UIReturnKeyDefault; 
      replyTextView.backgroundColor = [UIColor whiteColor]; 
      replyTextView.autocorrectionType = UITextAutocorrectionTypeNo; 
      replyTextView.autocapitalizationType = UITextAutocapitalizationTypeNone; 
      replyTextView.textAlignment = UITextAlignmentLeft; 
      replyTextView.tag = 0; 

      replyTextView.editable = YES; 
      replyTextView.delegate = self; 
      replyTextView.scrollEnabled = YES; 

      //[replyTextView becomeFirstResponder]; 

      //replyTextView.clearButtonMode = UITextFieldViewModeNever; 
      //[replyTextView setEnabled: YES]; 

      [cell.contentView addSubview:replyTextView]; 

      [replyTextView release]; 
      //cell.detailTextLabel.text = @""; 
     }   
    } 
} 
//NSLog(@"%d", [indexPath section]); 
if ([indexPath section] == 0) { 
    cell.detailTextLabel.text = [separatedString objectAtIndex:indexPath.row]; 

} 
return cell; 
} 

我只是想知道究竟什麼是保持文本在我的UITextView的最好方式,當用戶滾動的UITextView關閉屏幕和背部再次?

更新

- (UITableViewCell*) CreateMultilinesCell :(NSString*)cellIdentifier 
{ 

//NSLog(@"Entering CreateMultilinesCell"); 
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
               reuseIdentifier:cellIdentifier] autorelease]; 

cell.detailTextLabel.numberOfLines = 0; 
cell.detailTextLabel.font = [self SubFont]; 
cell.detailTextLabel.textColor = [UIColor colorWithRed:10.0/255 green:10.0/255 blue:33.0/255 alpha:1.0]; 
[cell setBackgroundColor:[UIColor clearColor]];//]colorWithRed:.98 green:.98 blue:.99 alpha:1.0]]; 
[self.tableView setBackgroundColor:[UIColor clearColor]];//colorWithRed:.94 green:.96 blue:.99 alpha:1.0]]; 
                 //NSLog(@"Exiting CreateMultilinesCell"); 
return cell; 
} 
+0

我們需要查看更多單元格創建代碼,以及每個單元格可能存在多少以瞭解更多 – bshirley 2011-06-05 19:36:12

回答

0

,最簡單的解決方案是使用一個不同的小區標識符對兩個類型的細胞。

編輯:我看你使用兩種不同的類型,但你沒有考慮到dequeue調用。