Как установить UITextField height?
Я использую UITextField
. Я хочу увеличить его высоту, но я не нашел ни одного отеля для этого. Как я могу достичь этого?
18 ответов
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
вы не можете изменить высоту закругленного стиля границы прямой линии. Чтобы установить высоту, просто выберите любой стиль границы, кроме округленной границы в Xcode:
Я наконец нашел исправление для этого!
Как мы обнаружили, IB не позволяет нам изменять высоту стиля границы закругленного угла. Так поменять его на любой из других стилей и установите нужную высоту. В коде измените стиль границы обратно.
textField.borderStyle = UITextBorderStyleRoundedRect;
Если вы используете Auto Layout, то вы можете сделать это на раскадровке.
добавьте ограничение высоты в текстовое поле, затем измените константу ограничения высоты на любое желаемое значение. Шаги показаны ниже:
Шаг 1: Создайте ограничение высоты для текстового поля
Шаг 2: Выберите Ограничение Высоты
Шаг 3: Изменение ограничения высоты постоянное значение
- выберите стиль границы как не округленный
- установить высоту
в вашем viewWillAppear установите углы как круглые
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
- наслаждайтесь круглый и высокий UITextField
1.) Измените стиль границы в InterfaceBuilder.
2.) После этого вы можете изменить размер.
3.) Создайте IBOutlet в текстовое поле и введите следующий код в поле viewDidLoad()
чтобы изменить BorderStyle назад.
textField.borderStyle = UITextBorderStyleRoundedRect;
Swift 3:
textField.borderStyle = UITextBorderStyle.roundedRect
выполните следующие два простых шага и получите увеличение высоты UItextField
.
Шаг 1: щелкните правой кнопкой мыши файл XIB и откройте его, как в "исходный код".
Шаг 2: найти то же UITextfield
источник и установить кадр, как вы хотите.
вы можете использовать эти шаги для изменения кадра любых элементов управления apple.
обновление для iOS 6: использование автоматической компоновки, хотя вы все еще не можете установить высоту UITextField из инспектора размеров в Построителе интерфейса (по крайней мере, с Xcode 4.5 DP4), теперь можно установить ограничение высоты на нем, которое вы можете редактировать из построителя интерфейса.
кроме того, если вы устанавливаете высоту кадра по коду, auto-layout может сбросить его в зависимости от других ограничений, которые может иметь ваш вид.
Я знаю, что это старый вопрос, но я просто хотел добавить, если вы хотите легко изменить высоту UITextField изнутри IB, а затем просто изменить тип границы UITextfield на что угодно, кроме типа закругленного угла по умолчанию. Затем вы можете легко растянуть или изменить атрибуты высоты внутри редактора.
swift3
@IBDesignable
class BigTextField: UITextField {
override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
borderStyle = .roundedRect
}
}
}
Интерфейс Построителя
- заменить
UITextField
СBigTextField
. - изменить
Border Style
кnone
.
мой жалкий вклад в эту глупую проблему. В IB установите стиль в none, чтобы вы могли установить высоту, затем в IB установите класс как подкласс UITextField
это заставляет стиль округляться прямолинейно.
@interface JLTForcedRoundedRectTextField : UITextField
@end
@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
self.borderStyle = UITextBorderStyleRoundedRect;
}
@end
это удерживало меня от взлома файла XIB или написания кода стиля в мой контроллер вида.
Это довольно просто.
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
объявите свое текстовое поле свойством gloabal и измените его фрейм там, где вы хотите сделать это в своем коде.
Удачи В Кодировании!
попробуй такое
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(20, 80, 280, 120)];
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[txt setText:@"Ananth"];
[self.view addSubview:txt];
последние два параметра-ширина и высота, вы можете установить, как вы хотите...
вы можете использовать свойство кадра textfield для изменения кадра Как-Textfield.frame=CGRECTMake (ось x,ось y,ширина,высота)
если вы создаете много UITextFields
это может быть быстрее подкласса UITextView
s и переопределить метод setFrame с помощью
-(void)setFrame:(CGRect)frame{
[self setBorderStyle:UITextBorderStyleRoundedRect];
[super setFrame:frame];
[self setBorderStyle:UITextBorderStyleNone];
}
таким образом, вы можете просто позвонить[customTextField setFrame:<rect>];
высота UITextField не регулируется только в Инспекторе атрибутов когда он имеет стиль границы закругленных углов по умолчанию, но добавляет ограничение высоты (плюс любые другие ограничения, которые необходимы для удовлетворите систему autolayout-часто просто используя Add Missing Ограничения) к нему и корректировка ограничения будет корректировать высота текстового поля. Если вы не хотите, ограничений, ограничений быть удалены (четкие ограничения) и textfield будет оставайтесь на отрегулированная высота.
работает как шарм.