Разбитые углы UITextfield при применении пользовательского маскирования - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь создать текстовое поле с закругленными левыми углами. Для этого я использовал следующий код для применения маскировки. Теперь углы текстового поля обрезаны. Есть идеи, почему?

    let shape = CAShapeLayer()
    shape.bounds = textfieldContainerView.frame
    shape.position = textfieldContainerView.center
    shape.path = UIBezierPath(roundedRect: textfieldContainerView.bounds,
                              byRoundingCorners: [.topLeft, .bottomLeft],
                              cornerRadii: CGSize(width: 5, height: 5)).cgPath
    textfieldContainerView.layer.mask = shape
    textfieldContainerView.layer.borderColor = ColorKit.smoke.cgColor
    textfieldContainerView.layer.borderWidth = 2.0

Вот как это выглядит (обратите внимание на разбитые углы слева).

enter image description here

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Попробуйте использовать это

textfieldContainerView.layer.cornerRadius = 5
textfieldContainerView.layer.maskedCorners = [.layerMinXMinYCorner, .layerMinXMaxYCorner]

Кроме того, это будет работать, если ваша цель развертывания составляет 11,0 и выше.

0 голосов
/ 24 февраля 2020

Это работает с меньшим значением радиуса и высоты, например 4. Кроме того, высота разбитых углов продолжает увеличиваться с увеличением значения радиуса / высоты

...