2015-12-27 3 views
1

IOS 9 - Swift 2IOS: UIButton странный вопрос о границах, когда cornerRadius добавил

я добавил cornerRadius на кнопку. Это делает странную серая рамка на некруглой части кнопки (см. Изображение). Как только я удаляю cornerRadius, граница исчезает.

Странно, что эта серая граница видна только на устройстве, не видна в симуляторе.

код довольно прост, и это не происходит на других кнопок:

button.backgroundColor = UIColor.defaultAppColor() 
button.layer.cornerRadius = 20 
button.layer.masksToBounds = true 

Изображение кнопки: button border

ли кто-нибудь сталкивался с этим раньше?

+0

еще не получили такую ​​проблему, попробуйте добавить пользовательский атрибут времени выполнения layer.borderWidth в 0 –

+0

@AjinkyaPatil Я пробовал. С borderWidth 0 ничего не происходит. И с borderWidth> 0, граница просто нарисована сверху, как и предполагалось, и покрывает странные серые линии, поэтому я исправил ее до сих пор (используя цвет фона в качестве цвета границы) –

+1

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

ответ

1

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

Во всяком случае, я решил это, добавив границу к кнопке того же цвета, что и цвет фона.

Надежды, которые помогают другим в той же ситуации.

+0

Вы нашли более эффективное решение? – Jason

0
button.clipsToBounds = true 

Используйте это. И я надеюсь, что ваша проблема будет решена.

+0

Пробовал, не исправил проблему, к сожалению. –

+0

Удалите эту строку, а затем попробуйте. button.layer.masksToBounds = true –

+0

Разве он не получил эту строку в своем коде? – Darren

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