我想在我的UITableViewCell中创建一个圆角图像,我已将图像高度和宽度约束设置为80,当我尝试这样做时:
cell.avatarImage.layer.cornerRadius = cell.avatarImage.frame.size.width/2
cell.avatarImage.clipsToBounds = true
我的图片是菱形而不是圆形。我检查了图像的宽度和高度,而不是80,它显示:128和240。 我还想补充说,如果我使用cornerRadius的常量值为40,它就可以完美地运行。 有人可以向我解释为什么它单向工作,frame.size方法给我一个错误的结果?有没有办法在不使用常数值的情况下获得圆形图像?
我是如何设置UIImageView大小的: http://i.stack.imgur.com/6cXXI.png
编辑:
我有一个自定义的TableViewCell类
class ContactTableViewCell: UITableViewCell {
@IBOutlet weak var nicknameLabel: UILabel!
@IBOutlet weak var descriptionLabel: UILabel!
@IBOutlet weak var avatarImage: UIImageView!
}
在TableViewController中我调用 cellForRowAtIndexPath
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! ContactTableViewCell
cell.nicknameLabel.text = "Nick"
cell.descriptionLabel.text = "Desc"
cell.avatarImage.backgroundColor = UIColor.redColor()
cell.avatarImage.layer.cornerRadius = cell.avatarImage.frame.size.width/2
cell.avatarImage.clipsToBounds = true
return cell
}
当我试着打电话
print(cell.avatarImage.frame.size.width)
它返回值240.0
当我获取frame.size值而不是设置常量值时,我得到了什么 http://i.stack.imgur.com/22t71.png