Могу ли я выборочно обрезать границы? - PullRequest
0 голосов
/ 25 января 2019

У меня есть собственный класс, который добавляет рамку к моей кнопке и имеет функцию для создания кнопки «X» в верхнем левом углу.

Первая проблема: чтобы кнопка X появлялась за пределами кнопки изображения, я должен отключить clipToBounds на кнопке изображения. Но это имеет отрицательный побочный эффект, позволяя изображению тыкать по закругленным углам. Есть ли способ обрезать только изображение, а не кнопку X?

Вторая проблема: граница отображается над кнопкой X. (Сначала я подумал, что это проблема альфа, но это не так.) Я надеюсь, что решение первой проблемы решит вторую, поэтому я рассматриваю оба вопроса здесь.

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Мой лучший совет - заменить вашу кнопку на пользовательскую UIView, к которой вы добавите UITapGestureRecognizer.Тогда вы сможете довольно быстро решить свою проблему.

В вашем ButtonView (ваш подкласс UIView) добавьте UIImageView с вашим изображением и добавьте границу к самому UIImageView.Затем закруглите углы, используя layer.cornerRadius, и обрежьте до границ.

Теперь добавьте отдельный UIImageView к вашему ButtonView и перенесите его вперед.При необходимости добавьте изображение 'x' и закруглите углы.

Наконец, установите фоновое изображение ButtonView на .clear, чтобы завершить все это.

0 голосов
/ 25 января 2019

Я бы предложил создать новый вид и добавить кнопку x и вид изображения в качестве подпредставлений.Этот вид не будет ограничивать.Затем установите границы, радиус угла и clipToBounds в представлении изображения.

...