Как установить границу UITextField с градиентом слева направо с закругленными углами с помощью Swift 4

На самом деле, версии стандарта C ++ до того, как C ++ 11 определили ключевое слово «export», [] , можно просто объявить шаблоны в файле заголовка и реализовать их в другом месте.

К сожалению, ни один из популярных компиляторов не реализовал это ключевое слово. Единственный, о котором я знаю, - это интерфейс, написанный Edison Design Group, который используется компилятором Comeau C ++. Все остальные настаивали на том, что вы пишете шаблоны в заголовочных файлах, нуждающихся в определении кода для надлежащего создания экземпляра (как уже указывали другие).

В результате стандартная комиссия ISO C ++ решила удалить export особенность шаблонов, начинающихся с C ++ 11.

1
задан rmaddy 13 July 2018 в 17:47
поделиться

1 ответ

Строка поглажена по центру, поэтому ширина в 10 пикселей означает 5 пикселей с каждой стороны.

Проблема 1

let lineWidth: CGFloat = 10   
let rect = bounds.inset.bounds.insetBy(dx: lineWidth / 2, dy: lineWidth / 2)

let path = UIBezierPath(roundedRect: rect, cornerRadius: frame.size.height / 2)
shape.lineWidth = lineWidth

Альтернативно, если вы хотите, чтобы линия была поглажена по пути по пути, вам нужно вставить путь. , вам нужно будет установить CustomTextField clipsToBounds = false

Задача 2

Чтобы изменить угол градиента, используйте кнопки startPoint и endPoint

gradient.startPoint = CGPoint(x: 0, y: 0.5)
gradient.endPoint = CGPoint(x: 1, y: 0.5)

Проблема 3

Возможно, попробуйте

gradient.colors = [UIColor.white.cgColor, UIColor.white.cgColor]
1
ответ дан Ashley Mills 17 August 2018 в 12:49
поделиться
  • 1
    Спасибо Ashley, я попробовал gradient.startPoint = CGPoint (x: 0, y: 0.5) gradient.endPoint = CGPoint (x: 1, y: 0.5), чтобы решить точку 2. Но после добавления этого градиента показывается. – Asif Raza 14 July 2018 в 06:16
  • 2
    Вы пробовали другие ценности? – Ashley Mills 14 July 2018 в 07:28
Другие вопросы по тегам:

Похожие вопросы: