0

我正在使用 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 显示错误的帧。

感谢您的阅读!

4

1 回答 1

0

我不知道我是否正确理解了你的问题,但试试这个:

(...)
//Image
comCell.imgAvatar = [UIImageView alloc] initWithFrame:CGRectMake(63, 26, sizeLabel.width + 10,sizeLabel.height + 10);
comCell.imgAvatar.image = [UIImage imageNamed:@"trang.png"];
(...)

让我知道它是否对您有帮助。

于 2013-08-07T02:34:41.483 回答