在 UITableViewCell 中调整 UIImageView 的大小
Posted
技术标签:
【中文标题】在 UITableViewCell 中调整 UIImageView 的大小【英文标题】:Resize UIImageView in TableViewCell 【发布时间】:2013-10-22 17:45:37 【问题描述】:我的 TableViewCell 中有 UIImageView。此图像解析自例如苹果 JSON。图像显示并且一切正常,但我在单元格中调整此图像的大小时遇到问题。我试过这个但没有。我阅读了许多主题,人们也有同样的问题。我知道如何从 URL 制作图片的大小,但我已经解析图像并粘贴到 cell.imageView。
所以我的 JSON 图像代码:
[cell.imageView setImageWithURL:[NSURL URLWithString:[[array objectAtIndex:indexPath.row] objectForKey:@"artworkUrl60"]] placeholderImage:[UIImage imageNamed:@"noholder.png"]];
我测试了这段代码,但单元格中图片的大小没有任何变化
cell.imageView.frame=CGRectMake(50,50,300,300);
如何更改单元格中图像的大小但没有 URL 链接。我必须更改单元格中的图片大小。谢谢。
【问题讨论】:
【参考方案1】:您需要创建一个自定义单元格(至少对于 ios 7)。
这是一个示例:.h
@interface UITableViewImageCell : UITableViewCell
CGRect _imageViewFrame;
/**
* To use default, set width and height to 0
*/
@property(nonatomic, assign) CGRect imageViewFrame;
@end
.m
@implementation UITableViewImageCell
@synthesize imageViewFrame=_imageViewFrame;
-(void)setImageViewFrame:(CGRect)imageViewFrame
_imageViewFrame = imageViewFrame;
[self setNeedsLayout];
-(void)layoutSubviews
[super layoutSubviews];
if (_imageViewFrame.size.width>0 && _imageViewFrame.size.height>0)
self.imageView.frame = _imageViewFrame;
@end
使用这个类,你必须调用:
cell.imageViewFrame=CGRectMake(50,50,300,300);
【讨论】:
以上是关于在 UITableViewCell 中调整 UIImageView 的大小的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableViewCell 中动态调整 UILabel?
在 UITableViewCell 中自动调整 UILabel 的大小
在 UITableViewCell 中调整 UIImageView 的大小
在 iOS Swift 中动态调整 UITableViewCell 高度