私はこの状態にしようとしますが動作しません。 senderlabel = key @ "sender"の場合、すべての行にgreen.pngまたはgrey.pngを使用します。uitableview質問
if (senderLabel.text = [tempMsg objectForKey:@"sender"])
{
[cell.msgText setText:[tempMsg objectForKey:@"message"]];
[messTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
//[cell setFrame:CGRectMake(0,0, size.width, size.height)];
[cell.msgText setFrame:CGRectMake(15,3, size.width, result)];
UIImage* balloon = [[UIImage imageNamed:@"grey.png"] stretchableImageWithLeftCapWidth:24 topCapHeight:15];
UIImageView *newImage = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, size.width+10, result+10)];
UIView *newView =[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height)];
[newImage setImage:balloon];
[newView addSubview:newImage];
[cell setBackgroundView:newView];
}else {
[cell.msgText setText:[tempMsg objectForKey:@"message"]];
[messTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
//[cell setFrame:CGRectMake(0,0, size.width, size.height)];
[cell.msgText setFrame:CGRectMake(15,3, size.width, result)]; //propriété du texte
UIImage* balloon = [[UIImage imageNamed:@"green.png"] stretchableImageWithLeftCapWidth:24 topCapHeight:15];
UIImageView *newImage = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, size.width+10, result+10)];
UIView *newView =[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height)];
[newImage setImage:balloon];
[newView addSubview:newImage];
[cell setBackgroundView:newView];
}
return cell;
}
THXが、すべて私のデータは緑を使用しています。すべての行で私は別のデータを持っています – XcodeMania
私はindexPath.rowを使用する必要があると思いますがどうですか? – XcodeMania
あなたはUITableViewCellをサブクラス化してそこに独自の背景を追加することができます。バックグラウンドのサイズを変更するには、setFrame:をオーバーライドすることを忘れないでください。 – EmilioPelaez