私のWebサービスにいくつかの製品があります。私はそれから製品名を得て、ラベル・テキストを使ってテーブルビューに表示しています。そして私はそれを得た。今私の問題は、私のテーブルビューでいくつかの製品を選択しているとき、私のdidselectrowatindexpathが空であっても、私のラベルは私の既存のラベルテキストを再読み込みして上書きします。私はこれを使用しましたiPhone sdkのuitableviewでラベルテキストの再読み込みを避けるにはどうすればいいですか?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
bookName = [[UILabel alloc]initWithFrame:CGRectMake(100, 3, 180, 25)];
NSString *text = [NSString stringWithFormat:@"%@",[[stories objectAtIndex:indexPath.row] objectForKey: @"product_name"]];
bookName.text = text;
bookName.textAlignment = UITextAlignmentCenter;
bookName.lineBreakMode = UILineBreakModeWordWrap;
[bookName setTextColor:[UIColor blackColor]];
CGSize expectedLabelSize = [text sizeWithFont:bookName.font constrainedToSize:bookName.frame.size lineBreakMode:UILineBreakModeWordWrap];
CGRect newFrame = bookName.frame;
newFrame.size.height = expectedLabelSize.height;
bookName.frame = newFrame;
bookName.numberOfLines = 0;
[bookName sizeToFit];
[cell.contentView addSubview:bookName];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
確かに...この問題にご意見をお寄せください。 – user579911
セルをどこに割り当てるのですか?静的セルを使用していますか? – Ilanchezhian
cellforrowatindexpath内にのみ割り当てます – user579911