2015-01-04 3 views
0

Я хочу округленное изображение внутри UIImageView. Я подклассов UITableViewCell и добавил cornerRadious в awakeFromNib так:UIImageView runder UIImageView странный уголокRadious

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 
} 

И это то, что я получаю:

this is what i get

И это то, что я ожидал:

this is what i expect

Код для заполнения таблицыView:

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 при заполнении таблицыView здесь, но я получаю тот же результат. Я также пробовал со всеми режимами contentMode (AspecFill, ScaleToFill ..) Странно то, что в другом VC у меня одинаковый макет, и этого не происходит.

+1

Вы используете автоматическую компоновку? Интересно, если размер фрейма неожиданно большой при загрузке и позже скорректирован? Также, возможно, попробуйте жесткий код, чтобы временно изолировать эти эффекты. –

+0

есть .. был проблема AL .. ty – Godfather

+0

какой вы изображение просмотр размер кадра ... ???? –

ответ

0

У меня есть точная проблема, как вы, и я пытаюсь установить это в функции viewWillLayoutSubviews(). И тогда все в порядке! ниже мой код

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 
} 
Смежные вопросы