UITableViewCell 内の UIImage の幅を動的に調整したいのですが、ストーリーボードを使用して UITableViewCell を設計しています。ラベルと画像を追加しただけで、プロパティが正しく更新され、値を読み込んでいますラベルの幅を正しい値であることを示します。画像については、繰り返したい背景画像を読み込んでいますが、画像を上下にスクロールすると、最初は幅が更新されません。期待どおりに表示されます。これが cellForRowAtIndexPath のコードです。また、コードを willDisplayCell メソッドに配置しようとしましたが、同じ結果です
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"mycustomcell"];
int r = [[data objectAtIndex:indexPath.row] intValue];
UIImageView *img = (UIImageView *)[cell viewWithTag:2];
img.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"some_img" ofType:@"png"]]];
CGRect frame = img.frame;
frame.size.width = r*16;
img.frame = frame;
int n = img.frame.size.width;
UILabel *label = (UILabel *)[cell viewWithTag:1];
label.text = [NSString stringWithFormat:@"custom %d", n];
[cell setNeedsDisplay];
return cell;
}
スクロールした後に機能するので、これを最初に機能させたいだけですか?