Как я могу настроить один край UIView? - PullRequest
1 голос
/ 22 сентября 2011

Я знаю, установив свойства borderWidth и borderColor слоя UIView, можно настроить всю границу. Но теперь я просто хочу изменить край границы, кто-нибудь может знать, как это сделать?

1 Ответ

3 голосов
/ 20 апреля 2012

Я думаю, что простое решение - добавить подслой в CALayer вашего представления для имитации границы, например:

float borderWidth = 5.0;
CALayer *mockBorder = [CALayer layer];
[mockBorder setBorderColor:[[UIColor blueColor] CGColor]];
[mockBorder setBorderWidth:borderWidth];
[mockBorder setFrame:CGRectMake(-1.0 * borderWidth,
                                0.0,
                                yourView.frame.size.width + 2 * borderWidth,
                                yourView.frame.size.height + borderWidth)];
[[yourView layer] addSublayer:mockBorder];

Пример выше имитирует только верхнюю границу. Изменяя параметры в CGRectMake, вы можете создавать различные комбинации, такие как вверх + влево, вверх + вниз и т. Д.

Не забудьте обновить кадр подслоя при повороте экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...