我试图在UITableViewCell的imageView内放置各种尺寸的图像。我同步获取图像数据,创建图像,设置imageView的内容模式,最后设置imageView的边界。但代码似乎对我所做的任何更改都不敏感。我希望图像以75x75的区域为中心。我为此写了下面的代码更改imageView的UITableViewCell的边界
UIImage* image = [UIImage imageWithData:data];
[holder.imageView setContentMode:UIViewContentModeCenter || UIViewContentModeRedraw];
[holder.imageView setImage:image];
[holder.imageView setBounds:CGRectMake(0,0,75,75)];
[holder.imageView setFrame:CGRectMake(0,0,75,75)];
[holder setNeedsLayout];
其中holder是UITableViewCell。我得到的结果总是一样的。所有图片都有75px的高度和不同的宽度。有人可以帮我解决这个问题吗?
我已经意识到设置contentMode和bounds属性在该代码中没有任何影响。我已经在最后一行后添加一个NSLog的,并得到结果如下:
NSLog(@"imageview:%@ bounds and contentMode:%@ %@",[holder imageView],[holder.imageView bounds],[holder.imageView contentMode]);
imageview的:<的UIImageView:0x39ab8a0; frame =(0 0; 75 75); opaque = NO; userInteractionEnabled = NO;层= <的CALayer:0x39a92b0 >>边界和 contentMode:(空)(空)
仍然没有解决
Bummer,我想我可能会被迫创建另一个UITableViewCell子类...感谢您为我确认它! – 2012-10-04 22:13:01
我必须同意,这是一个巨大的浪费时间,以使其按预期工作。 – 2013-08-16 12:51:44
虽然这个工作,它仍然是一个黑客。人们会期望从自定义UITableViewCell中设置的约束中找出框架/边界。 – 2014-04-12 20:15:20