Сделайте определенные углы UIView round

Я сделал несколько исследований, и я вижу, что нет простого способа сделайте только верхний правый и верхний левый углы раунда UIView, правильно?

пс. Этот код делает все 4 угла круглыми, что немного. Я не хочу.

  #import 

 self.layer.cornerRadius = 5;
 self.layer.masksToBounds = YES;
7
nl ja de
добавлено автор Ramaraj T, источник

2 ответы

Вы можете сделать это с помощью этого фрагмента:

// Set top right & left corners
[self setMaskTo:yourView byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight];

<Сильный> ИЗМЕНИТЬ

Извините, я забыл об этом

- (void)setMaskTo:(UIView*)view byRoundingCorners:(UIRectCorner)corners
{
    UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:view.bounds
                                                  byRoundingCorners:corners
                                                        cornerRadii:CGSizeMake(8.0, 8.0)];
    CAShapeLayer *shape = [[CAShapeLayer alloc] init];
    [shape setPath:rounded.CGPath];    
    view.layer.mask = shape;
}

PS: как я сказал в комментарии, если вы используете такие вещи, когда вы показываете ячейки UITableViewCell , я обнаружил, что всегда лучше выбирать фоновые изображения, потому что этот вид рисунка всегда влияет на производительность ,

21
добавлено
Я пробовал это, но только круглый левый верхний и нижний левый угол не работают для других нижних правых и верхних правых. Пожалуйста, предложите.
добавлено автор Chandni, источник
этот комментарий, вероятно, следует сказать в ответе, маскирование представления - это большой успех и всегда должно быть с фоновыми изображениями, если вы можете помочь ему
добавлено автор wattson12, источник
@amb +1 Хороший значок на пути :)
добавлено автор albertamg, источник
FYI, если вы используете такие вещи, когда вы показываете ячейки UITableViewCell , я обнаружил, что всегда лучший выбор для использования фоновых изображений, потому что этот вид рисунка всегда влияет на производительность.
добавлено автор amb, источник
Спасибо за комментарий, это работает! пс. Я не использую его как UITableViewcell, так или иначе, даже если бы я был, я бы не знал, как это сделать, используя фоновые изображения ...: (((но спасибо в любом случае.
добавлено автор user1903992, источник

Я попробовал расширения для UIView один раз, и это не сработало для меня, потому что это вызвало проблемы при рисовании ячейки

Я получил лучшее и более легкое решение сейчас за 2 шага, которые отлично работали :)

1) Одна строка кода (Swift 2.0) - она ​​ранит все 4 угла зрения:

YourView.layer.cornerRadius = 10

2) и одно дополнение в раскадровке, вы добавляете 1 вид с регулярными углами, где вам не нужны круглые углы и настраивайте ограничения по мере необходимости: обратите внимание, что маленький основной угол обзора должен находиться за основным видом. Вот как он выглядит в раскадровке

Здесь вы можете увидеть ограничения, необходимые для небольшого просмотра

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.