Как установить высоту UITextField?

Я использую UITextField. Я хочу увеличить его высоту, но я не нашел никаких свойств для этого. Как я могу достичь этого?

+102
источник поделиться
17 ответов
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
+70
источник

Вы не можете изменить высоту закругленного прямоугольного стиля рамки. Чтобы установить высоту, просто выберите любой стиль рамки, кроме закругленной границы в Xcode:

enter image description here

+175
источник
другие ответы

Связанные вопросы


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

Наконец-то я нашел исправление!

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

textField.borderStyle = UITextBorderStyleRoundedRect;
+144
источник

Если вы используете автоматическую компоновку, вы можете сделать это на доске истории.

Добавьте ограничение высоты в текстовое поле, затем измените константу ограничения высоты на любое желаемое значение. Шаги показаны ниже:

Шаг 1. Создание ограничения высоты для текстового поля

enter image description here

Шаг 2: выберите ограничение по высоте

enter image description here

Шаг 3: Изменить значение константы ограничения константы

enter image description here

+81
источник
  • Выберите стиль рамки как не округленный

введите описание изображения здесь

  1. Установите высоту

введите описание изображения здесь

в вашем представленииWillAppear устанавливает углы как круглые

yourUITextField.borderStyle = UITextBorderStyleRoundedRect;

введите описание изображения здесь

  1. Наслаждайтесь своим круглым и высоким UITextField
+24
источник

1.) Измените стиль границы в InterfaceBuilder.

введите описание изображения здесь

2.) После этого вы можете изменить размер.

введите описание изображения здесь

3.) Создайте IBOutlet для вашего TextField и введите следующий код в свой viewDidLoad(), чтобы изменить BorderStyle.

textField.borderStyle = UITextBorderStyleRoundedRect;

Swift 3:

textField.borderStyle = UITextBorderStyle.roundedRect
+19
источник

Следуйте этим двум простым шагам и получите высоту увеличения UItextField.

Шаг 1: щелкните правой кнопкой мыши на XIB файле и откройте его как в "Исходном коде".

Шаг 2: Найдите тот же источник UItextField и установите фрейм как хотите.

Вы можете использовать эти шаги для изменения фрейма любых элементов управления Apple.

+13
источник

Обновление для iOS 6: использование автоматической компоновки, хотя вы по-прежнему не можете установить высоту UITextField из Инспектора размеров в построителе интерфейса (по крайней мере, с Xcode 4.5 DP4), теперь можно установить Ограничение по высоте на нем, которое вы можете редактировать с помощью Interface Builder.

Кроме того, если вы задаете высоту кадра по коду, автоматическая компоновка может reset в зависимости от других ограничений, которые может иметь ваше представление.

+8
источник

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

+6
источник

swift3

@IBDesignable
class BigTextField: UITextField {
    override func didMoveToWindow() {
        super.didMoveToWindow()
        if window != nil {
            borderStyle = .roundedRect
        }
    }
}

Конструктор интерфейсов

  • Замените UITextField на BigTextField.
  • Измените Border Style до none.
+4
источник

Мой трогательный вклад в эту тупую проблему. В IB установите стиль равным none, чтобы вы могли установить высоту, а затем в IB задайте класс подклассом UITextField, который заставляет стиль округлить прямоугольник.

@interface JLTForcedRoundedRectTextField : UITextField
@end

@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
    self.borderStyle = UITextBorderStyleRoundedRect;
}
@end

Это помешало мне взломать XIB файл или написать код стиля в мой контроллер представления.

+3
источник

Это довольно просто.

yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);

Объявите свое текстовое поле как облачное свойство и измените его фрейм, где бы вы ни захотели сделать это в своем коде.

Счастливое кодирование!

+2
источник

попробуйте это

UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(20, 80, 280, 120)];
+1
источник
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    [txt setText:@"Ananth"];
    [self.view addSubview:txt];

Последние два аргумента - ширина и высота, вы можете установить, как хотите...

+1
источник

Вы можете использовать свойство frame для текстового поля для изменения рамки Like-Textfield.frame = CGRECTMake (ось x, ось y, ширина, высота)

+1
источник

Если вы создаете много UITextFields, это может быть быстрее подкласса UITextView и переопределить метод setFrame с помощью

-(void)setFrame:(CGRect)frame{
    [self setBorderStyle:UITextBorderStyleRoundedRect];
    [super setFrame:frame];
    [self setBorderStyle:UITextBorderStyleNone];
}  

Таким образом, вы можете просто позвонить [customTextField setFrame:<rect>];

+1
источник

Высота UITextField не настраивается только в Attributes Inspector когда он имеет стиль округлых углов по умолчанию, но добавляет ограничение по высоте (плюс любые другие ограничения, которые необходимы для удовлетворяют системе автоотключения - часто просто используя Add Missing Ограничения) к нему и регулировка ограничения будет регулировать высота текстового поля. Если вы не хотите ограничений, ограничения могут (Clear Constraints), и текстовое поле останется на отрегулированная высота.

Работает как шарм.

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос