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