首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIImageView rounder UIImageView strange

UIImageView rounder UIImageView strange
EN

Stack Overflow用户
提问于 2015-01-04 17:28:11
回答 1查看 135关注 0票数 0

我想要一个圆形的图像在一个UIImageView。我对UITableViewCell进行子类化,并在awakeFromNib中添加了cornerRadious,如下所示:

代码语言:javascript
复制
class FriendsCell: UITableViewCell {
    @IBOutlet weak var friendImageView: UIImageView!

    override func awakeFromNib() {
        super.awakeFromNib()
        self.friendImageView.layer.cornerRadius = self.friendImageView.frame.size.width / 2
        self.friendImageView.clipsToBounds = true
}

我得到的是:

这正是我所期望的:

填充tableView的代码:

代码语言:javascript
复制
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as FriendsCell
    let user = fetchedResultsController.objectAtIndexPath(indexPath) as Friend
    cell.friendImageView.image = UIImage(data: user.photo)
    return cell
}

在这里填充cornerRadius时,我也尝试过设置tableView,但是我得到了相同的结果。我还尝试了contentMode的所有模式(AspecFill,ScaleToFill.)奇怪的是,在另一个VC,我有相同的布局,这是不可能发生的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-08 19:13:51

我有和您一样的问题,我尝试在viewWillLayoutSubviews()函数中设置这个问题。然后一切都好起来了!下面是我的代码

代码语言:javascript
复制
  override func viewWillLayoutSubviews() {
    detailPortImageView.image = detailImage
    detailPortImageView.layer.cornerRadius = detailPortImageView.frame.width / 2
    detailPortImageView.clipsToBounds = true

    detailPortImageView.layer.borderWidth = 2
    detailPortImageView.layer.borderColor = UIColor.whiteColor().CGColor
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27768271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档