2016-01-22 3 views
4

Вот моя проблема: я пытаюсь окружить верхние углы UIImageView, чтобы выглядеть как UIButton с закругленным углом. Я использую маски, чтобы сделать это, но результат меня не то, что я действительно ожидал ...Круглые верхние углы UIImageView, такие как UIButton

Я использую следующее расширение:

extension UIView 
{ 
    func roundCorners(corners:UIRectCorner, radius: CGFloat) 
    { 
    let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius)) 
    let mask = CAShapeLayer() 
    mask.path = path.CGPath 
    self.layer.mask = mask 
    } 
} 

Calling его, как это в моем коде:

imageView.roundCorners([.TopLeft, .TopRight], radius: 80) 

И вот результат: Rounded corners error

Я хотел бы иметь верхний угол, чтобы посмотреть, как нижние углы (нижний угол s - UIButton углы радиуса 10), но я не вижу, где ошибка ...

Спасибо вам всем за помощь!

EDIT: Я использую правильный код, я просто не заметил, что мой UIImageView был больше, чем UIImage отсюда странные углы ... Я создаю UIImageView программно и, таким образом, не заметил разница в размерах ... Ошибка владельца ...

Спасибо вам всем за помощь!

+0

Я не знаю, почему, но пост не будет показывать свою первую линию, говоря: «Привет всем» ... Не обвиняйте меня за не приветствую! :( – Dliix

+0

Почему вы вызываете его с радиусом = 80? Вызовите 10 и посмотрите, работает ли это. – Gandalf

+0

вы можете использовать WHRoundedImageView через cocoapods: см. Ссылку ниже: https://cocoapods.org/pods/WHRoundedImageView – AlexWoe89

ответ

1

Используйте это значение:

imageView([.TopLeft, .TopRight], radius: 20) 

Result is

Смежные вопросы