不能让角落半径起作用

时间:2015-03-09 15:49:35

标签: ios swift rounded-corners cornerradius

嗨,我正在编写一个聊天应用程序,我想让个人资料图片有一个角落半径。这是我的代码。顺便说一句,我使用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!

4 个答案:

答案 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