嗨,我正在编写一个聊天应用程序,我想让个人资料图片有一个角落半径。这是我的代码。顺便说一句,我使用Parse作为后端。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
var imageView = PFImageView()
let user = self.users[indexPath.row]
imageView.layer.cornerRadius = imageView.frame.size.width / 2
imageView.layer.masksToBounds = true
imageView.file = user[PF_USER_PICTURE] as? PFFile
cell.textLabel?.text = user[PF_USER_FULLNAME] as? String
cell.textLabel?.font = UIFont.boldSystemFontOfSize(24)
cell.imageView?.image = imageView.image
return cell
}
更新: 问题是我的cell.imageview没有框架。 谢谢你回答Max K!
答案 0 :(得分:1)
var imageView = PFImageView()
是与图像不同的图像视图:
cell.imageView?.image = imageView.image
屏幕上显示的是您的单元格的图片视图,而不是PFImageView
的此实例。如果您希望将PFImageView
作为单元格的图像视图的一个类,则需要在故事板中或通过子类化单元格来设置它。
答案 1 :(得分:0)
您在cornerRadius
上设置了imageView
以后未添加到屏幕上的内容。
您必须在cell.imageView
if let imageView = cell.imageView {
imageView.layer.cornerRadius = imageView.frame.size.width / 2
}
答案 2 :(得分:0)
您将cornerRadius应用于此处创建的imageView图层:
var imageView = PFImageView()
但是,您只使用其图像属性并将其分配给单元格的imageView:
cell.imageView?.image = imageView.image
将cornerRadius
应用于手机imageView
。
答案 3 :(得分:0)
您正在向
中的imageView
添加转角
var imageView = PFImageView()
而是在cell.imageView
添加角落。您似乎正在使用PFImageView从文件下载图像。所以你可以修改像
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
var imageView = PFImageView()
let user = self.users[indexPath.row]
cell.imageView.layer.cornerRadius = imageView.frame.size.width / 2
cell.imageView.layer.masksToBounds = true
imageView.file = user[PF_USER_PICTURE] as? PFFile
cell.textLabel?.text = user[PF_USER_FULLNAME] as? String
cell.textLabel?.font = UIFont.boldSystemFontOfSize(24)
cell.imageView?.image = imageView.image
return cell
}
或者将cell.imageView
的imageView作为PFImageView