2015-03-22 4 views
0

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

enter image description here

У меня есть подкласс UIImageView, где в layoutSubviews я имею логику положить закругленный угол для UIImageView, и обрежутся до границ.

Но я не получаю, почему некоторые образа рисуется с этим необработанными краями, и они находятся вне пограничного слоя ...

Потому что обрежется, я не могу сделать пользовательский слой с другим кадром для границы, потому что весь суперслое обрезается.

- (void)layoutSubviews 
    { 
     [super layoutSubviews]; 
     [self layoutIfNeeded]; 
     [self.layer setCornerRadius:self.frame.size.width/2]; 
     [self.layer setBorderWidth:BORDERSIZE]; 
     [self.layer setBorderColor:[BORDERCOLOR CGColor]]; 
     [self setClipsToBounds:YES]; 

    } 

ответ

-1

Чтобы сделать круговое изображение, используйте следующий код в viewDidLoad. Для привязки к границам установите его в положение «да».

self.MyImageView.layer.cornerRadius = self.MyImageView.frame.size.width/2; 
self.MyImageView.clipsToBounds = YES; 

Чтобы применить границы, используйте этот код в viewDidLoad:

self.MyImageView.layer.borderWidth = 3.0f; 
self.MyImageView.layer.borderColor = [UIColor whiteColor].CGColor; 

Это, безусловно, работает.

+0

Я делаю то же самое. – dormitkon

+0

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

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