我想动态调整 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;
}
我只想让它在滚动后开始工作,想法?