Как я могу закруглить два угла ТОЛЬКО? - PullRequest
1 голос
/ 13 декабря 2011

В iPhone я могу использовать

view.layer.cornerRadius = 10;

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

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Простое, но немного уродливое решение - использовать два слоя частично друг на друга, чтобы один из них «скрывал» верхние круглые углы.

Обновление нашел этот вопрос Вокруг двух углов в UIView , который имеет гораздо более правильные и лучшие решения.

0 голосов
/ 13 июня 2012

Вот решение, которое я использовал для пользовательской ячейки табличного представления:

Предполагая, что ячейка имеет высоту 44.

Добавьте подпредставление с высотой 66, назовите его roundedCornerContainer

В подпредставлении добавьте содержимое ячейки.

Добавьте IBOutlet к roundedCornerContainer

При настройке ячейки:

#import <QuartzCore/QuartzCore.h>

roundedCornerContainer.layer.cornerRadius = 8;
roundedCornerContainer.layer.masksToBounds = YES;

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

Конечный результат состоит в том, что верхний левый и верхний правый угол сгруппированной ячейки UITableView округляются, а нижний левый исправа отображаются как 90 градусов (нижние закругленные углы обрезаются ячейкой.

Если вам нужно повторить этот трюк с нижней сгруппированной ячейкой, просто измените начало roundedCornerContainer в прототипе ячейки, сдвинувего происхождение на 22 пункта выше.

...