我正在使用 Storyboard 并在 UITableView 中显示数据。我在 UITableView 中显示图像时遇到问题,我想显示图像动态框架,但它不起作用
第一个:我有一个字符串
NSString * abc = @"Helllo stackoverflow, Im a new bie, Im glad with you.";
第二:我得到宽度,NSString“abc”的高度
CGSize sizeLabel = [(text ? text : @"") sizeWithFont:[UIFont systemFontOfSize:13]constrainedToSize:CGSizeMake(180, 9999) lineBreakMode:NSLineBreakByWordWrapping];
最后:我将 sizeLabel.width、sizeLabel.height 设置为帧图像
int x = 60;
int y = 30;
image.frame = CGRectMake(x,y,sizeLabel.width,sizeLabel.height);
当我设置框架 UILabel -> 它运行正常
comCell.lblText.frame = CGRectMake(x,y,sizeLabel.width,sizeLabel.height);
这是我的完整代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *dataTable = [_itemsNames objectAtIndex:indexPath.row];
NSString *text = [dataTable objectForKey:@"Content"];
NSString *cell = @"cellCus";
CustomCell *comCell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cell];
UIFont *font=[UIFont systemFontOfSize:13];
CGSize sizeLabel = [(abc ? abc : @"") sizeWithFont:font constrainedToSize:CGSizeMake(180, 9999) lineBreakMode:NSLineBreakByWordWrapping];
UIImage *img = [UIImage imageNamed:@"trang.png"];
//Image
comCell.imgAvatar.image = [img stretchableImageWithLeftCapWidth:15 topCapHeight:14];
[comCell.imgAvatar setFrame:CGRectMake(63, 26, sizeLabel.width + 10,sizeLabel.height + 10)];
return comCellLeft;
}
-> 有人帮助我,或者知道为什么 comCell.image.frame 显示错误的帧。
感谢您的阅读!