Странные артефакты при использовании UIButton с установленным угловым радиусом

Я использую стандартный UIBUtton, где я устанавливаю ширину границы и радиус угла, например

[button1.layer setCornerRadius: 15.0];
[button1.layer setMasksToBounds:TRUE];
[button1.layer setBorderWidth: 8.0];

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


person CocoaAficionado    schedule 29.08.2013    source источник


Ответы (2)


Я не уверен, почему это происходит, и может быть более простое решение, но вы можете использовать маску CAShapeLayer для визуализации изображения в определенной форме.

См. этот ответ для кода о том, как это сделать. https://stackoverflow.com/a/18515698/2700842

person Nick Terry    schedule 29.08.2013

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

введите здесь описание изображения

person CocoaAficionado    schedule 29.08.2013