自定义表格视图单元格图像扭曲

Posted

技术标签:

【中文标题】自定义表格视图单元格图像扭曲【英文标题】:Custom table view cell image distorting 【发布时间】:2014-11-06 13:11:48 【问题描述】:

我有一个自定义 UITableViewCell,我也有一个图像,但图像拉伸得非常不寻常。代码如下:

    var count = 0
    var propic: NSString = ""
    var name: NSString = ""
    for data in listDataArray 
        if(indexPath.row == count) 
            if let pic = data["profile_pic"] as? NSString 
                propic = pic
            
            if let n = data["full_name"] as? NSString 
                name = n
            
        
        count++
    
    let decodedData = NSData(base64EncodedString: propic, options: NSDataBase64DecodingOptions(0))
    var decodedimage = UIImage(data: decodedData!)
    var  cell:TableViewCell? = tableView.dequeueReusableCellWithIdentifier("Cell") as? TableViewCell

    if (cell == nil)
    
        let nib:Array = NSBundle.mainBundle().loadNibNamed("TableViewCell", owner: self, options: nil)
        cell = nib[0] as? TableViewCell
    

    cell!.nameLabel!.text = name
    cell!.imageView!.image = decodedimage
    cell!.imageView!.layer.cornerRadius = cell!.recipeImageView!.frame.size.width / 2
    cell!.imageView!.layer.borderWidth = 5.0
    cell!.imageView!.clipsToBounds = true
    cell!.imageView!.layer.borderColor = UIColor(red: 128/225.0, green: 188/225.0, blue: 163/225.0, alpha: 0.45).CGColor;
    return cell;

这是.xib

还有TableViewCell.swift 文件:

@IBOutlet var imageView : UIImageView? = UIImageView(frame: CGRectMake(10, 10, 50, 50))
@IBOutlet var nameLabel : UILabel?
@IBOutlet var timeLabel : UILabel?

override func awakeFromNib() 
    super.awakeFromNib()
    // Initialization code


override func setSelected(selected: Bool, animated: Bool) 
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state

以及模拟器中的结果:

我需要将图像限制在一个块(并在一个圆圈中)以显示如下:

除了是方形图像,我还需要它们是圆形的。我该怎么做?

【问题讨论】:

您使用自动布局吗?如果是,对 imageView 有什么限制? @Tom 我没有使用自动布局 要将图像裁剪为圆形,您可以在此处阅读方法:***.com/questions/6530573/…。此外,要查看代码中的问题,我需要更多洞察力。你能把你的代码(部分)发给我吗?你指的是cell!.recipeImageView!我在您发布的代码中的任何地方都看不到。 【参考方案1】:

您可以使用 Cocoapods 将此库添加到您的项目中 platform :ios pod 'APAvatarImageView'

并将APAvatarImageView 类添加到 Storyboard 或 XIB 中的 UIImageView 中,它将自动成为一个圆圈 https://github.com/ankurp/APAvatarImageView

【讨论】:

以上是关于自定义表格视图单元格图像扭曲的主要内容,如果未能解决你的问题,请参考以下文章

自定义表格视图单元格上的多个图像(Swift)

图像不适合自定义表格视图单元格中的图像视图

在自定义表格单元中更改图像视图

如何在swift ios中将多个图像添加到自定义表格视图单元格?

图像的滚动视图在自定义表格视图单元格中不起作用

自定义表格视图单元格中的 JSON 缩略图图像