开发者

Keeping text in UITextView after scrolling it off the screen

My table only has 2 sections. I have a UITextView as a subview in the 2nd section of my table. and a list of possible quotes in the first section.

I'm having a problem where once the user selects a particular quote which gets "pasted" into the UITextView like so:

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

or types text into the textview, after they scroll away from the textview so it's off the screen it gets cleared. I guess this is because I keep releasing it from my table..

- (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 ([ind开发者_Go百科exPath section] == 0) {
    cell.detailTextLabel.text = [separatedString objectAtIndex:indexPath.row];

}
return cell;
}

I'm just wondering just what is the best way to keep the text in my UITextView when the user scrolls the uitextview off the screen and back again?

update

- (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;
}


The easiest solution is to use a different cell identifier for the two types of cells.

Edit: I see you are using two different types, but you are not taking that into account in the dequeue call.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜