Строка поглажена по центру, поэтому ширина в 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]