Я использую UITextField
. Я хочу увеличить его высоту, но я не нашел никаких свойств для этого. Как я могу достичь этого?
Как установить высоту UITextField?
Ответ 1
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
Ответ 2
Вы не можете изменить высоту закругленного прямоугольного стиля рамки. Чтобы установить высоту, просто выберите любой стиль рамки, кроме закругленной границы в Xcode:
Ответ 3
Наконец-то я нашел исправление!
Как мы выяснили, IB не позволяет нам изменять высоту закругленного стиля граничной границы. Поэтому измените его на любой из других стилей и установите желаемую высоту. В коде измените стиль рамки назад.
textField.borderStyle = UITextBorderStyleRoundedRect;
Ответ 4
Если вы используете автоматическую компоновку, вы можете сделать это на доске истории.
Добавьте ограничение высоты в текстовое поле, затем измените константу ограничения высоты на любое желаемое значение. Шаги показаны ниже:
Шаг 1. Создание ограничения высоты для текстового поля
Шаг 2: выберите ограничение по высоте
Шаг 3: Изменить значение константы ограничения константы
Ответ 5
- Выберите стиль рамки как не округленный
- Установите высоту
в вашем представленииWillAppear устанавливает углы как круглые
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
- Наслаждайтесь своим круглым и высоким UITextField
Ответ 6
1.) Измените стиль границы в InterfaceBuilder.
2.) После этого вы можете изменить размер.
3.) Создайте IBOutlet для вашего TextField и введите следующий код в свой viewDidLoad()
, чтобы изменить BorderStyle.
textField.borderStyle = UITextBorderStyleRoundedRect;
Swift 3:
textField.borderStyle = UITextBorderStyle.roundedRect
Ответ 7
Следуйте этим двум простым шагам и получите высоту увеличения UItextField
.
Шаг 1: щелкните правой кнопкой мыши на XIB файле и откройте его как в "Исходном коде".
Шаг 2: Найдите тот же источник UItextField
и установите фрейм как хотите.
Вы можете использовать эти шаги для изменения фрейма любых элементов управления Apple.
Ответ 8
Обновление для iOS 6: использование автоматической компоновки, хотя вы по-прежнему не можете установить высоту UITextField из Инспектора размеров в построителе интерфейса (по крайней мере, с Xcode 4.5 DP4), теперь можно установить Ограничение по высоте на нем, которое вы можете редактировать с помощью Interface Builder.
Кроме того, если вы задаете высоту кадра по коду, автоматическая компоновка может reset в зависимости от других ограничений, которые может иметь ваше представление.
Ответ 9
Я знаю, что это старый вопрос, но я просто хотел добавить, если вы хотите легко изменить высоту UITextField изнутри IB, а затем просто измените этот тип границы UITextfield на любое другое, кроме типа округленного угла по умолчанию. Затем вы можете легко растягивать или изменять атрибуты высоты внутри редактора.
Ответ 10
swift3
@IBDesignable
class BigTextField: UITextField {
override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
borderStyle = .roundedRect
}
}
}
Конструктор интерфейсов
- Замените
UITextField
наBigTextField
. - Измените
Border Style
доnone
.
Ответ 11
Мой трогательный вклад в эту тупую проблему. В IB установите стиль равным none, чтобы вы могли установить высоту, а затем в IB задайте класс подклассом UITextField
, который заставляет стиль округлить прямоугольник.
@interface JLTForcedRoundedRectTextField : UITextField
@end
@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
self.borderStyle = UITextBorderStyleRoundedRect;
}
@end
Это помешало мне взломать XIB файл или написать код стиля в мой контроллер представления.
Ответ 12
Это довольно просто.
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
Объявите свое текстовое поле как облачное свойство и измените его фрейм, где бы вы ни захотели сделать это в своем коде.
Счастливое кодирование!
Ответ 13
попробуйте это
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(20, 80, 280, 120)];
Ответ 14
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[txt setText:@"Ananth"];
[self.view addSubview:txt];
Последние два аргумента - ширина и высота, вы можете установить, как хотите...
Ответ 15
Вы можете использовать свойство frame для текстового поля для изменения рамки Like-Textfield.frame = CGRECTMake (ось x, ось y, ширина, высота)
Ответ 16
Если вы создаете много UITextFields
, это может быть быстрее подкласса UITextView
и переопределить метод setFrame с помощью
-(void)setFrame:(CGRect)frame{
[self setBorderStyle:UITextBorderStyleRoundedRect];
[super setFrame:frame];
[self setBorderStyle:UITextBorderStyleNone];
}
Таким образом, вы можете просто позвонить
[customTextField setFrame:<rect>];
Ответ 17
Высота UITextField не настраивается только в Attributes Inspector когда он имеет стиль округлых углов по умолчанию, но добавляет ограничение по высоте (плюс любые другие ограничения, которые необходимы для удовлетворяют системе автоотключения - часто просто используя Add Missing Ограничения) к нему и регулировка ограничения будет регулировать высота текстового поля. Если вы не хотите ограничений, ограничения могут (Clear Constraints), и текстовое поле останется на отрегулированная высота.
Работает как шарм.