Укажите радиус границы UITextField в Swift

Я хотел бы программно указать радиус границы UITextField с помощью Swift.

По умолчанию UITextField имеет небольшой радиус границы, но я хотел бы увеличить его, и, после траления через Interface Builder, я предполагаю, что это можно сделать программно?

Ответ 1

Вы можете использовать:

nameOfTextField.layer.cornerRadius = 15.0
nameOfTextField.layer.borderWidth = 2.0
nameOfTextField.layer.borderColor = UIColor.red.cgColor

Ответ 2

Если вы используете Interface Builder, вы можете использовать User Defined Runtime Attributes для элементов управления, которые вы хотите изменить. Во время выполнения, когда загружается представление, каждый атрибут, который вы передаете для ключевого пути, будет автоматически установлен на ваше значение. Не нужно загромождать ваш код с небольшими настройками дисплея.

На приведенном ниже рисунке следует ответить на ваш вопрос.

Adding border radius with IB Runtime Attributes

Ответ 3

Поскольку @SnarfSnarf предлагает вам программно настраивать границу widht и угловой радиус текстового поля, а также любое другое представление по этому вопросу, путем доступа к его свойствам layer:

nameOfTextField.layer.cornerRadius = 4.0
nameOfTextField.layer.borderWidth = 2.0

Кроме того, UITextField имеет свойство borderStyle которым вы можете играть. Он имеет четыре возможных значения: None, Line, Bezel и RoundedRect.

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

Ответ 4

Правильно создать угол угла поля текста ниже:

быстрый 3

YourTextfieldName.layer.cornerRadius = YourTextfieldName.frame.size.height/2
YourTextfieldName.clipsToBounds = true

Ответ 6

Чтобы создать borderWidth текстового поля ниже ответ правильный:

быстрый 3

YourTextfieldName!.layer.borderWidth = 1
YourTextfieldName!.layer.borderColor = UIColor.black.cgColor