自定义表格视图单元格图像扭曲
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
【讨论】:
以上是关于自定义表格视图单元格图像扭曲的主要内容,如果未能解决你的问题,请参考以下文章