如何设置UITextField的高度?

我正在使用UITextField 。 我想增加其高度,但我还没有find任何财产要做到这一点。 我怎样才能做到这一点?

 CGRect frameRect = textField.frame; frameRect.size.height = 100; // <-- Specify the height you want here. textField.frame = frameRect; 

您不能更改圆angular矩形边框样式的高度。 要设置高度,只需在Xcode中select除圆angular边框以外的任何边框样式:

在这里输入图像说明

我终于find了解决办法!

正如我们所发现的,IB不允许我们改变圆angular边框样式的高度。 因此,将其更改为任何其他样式并设置所需的高度。 在代码中更改边框样式。

 textField.borderStyle = UITextBorderStyleRoundedRect; 

如果你正在使用自动布局,那么你可以在故事板上做到这一点。

将高度约束添加到文本字段,然后将高度约束更改为任何所需的值。 步骤如下所示:

第1步:为文本字段创build高度限制

在这里输入图像说明

第2步:select高度限制

在这里输入图像说明

步骤3:更改高度限制的常数值

在这里输入图像说明

  1. select不舍入的边框样式

在这里输入图像说明

  1. 设置你的身高

在这里输入图像说明

在你的viewWillAppear将angular落设置为圆形

 yourUITextField.borderStyle = UITextBorderStyleRoundedRect; 

在这里输入图像说明

  1. 享受你的圆形和高UITextField

1.)在InterfaceBuilder中更改边框样式。

在这里输入图像说明

2.)之后,你可以改变大小。

在这里输入图像说明

3.)为您的TextField创build一个IBOutlet,并向您的viewDidLoad()input以下代码以更改BorderStyle。

 textField.borderStyle = UITextBorderStyleRoundedRect; 

Swift 3:

 textField.borderStyle = UITextBorderStyle.roundedRect 

遵循这两个简单的步骤,并获得您的UItextField增加高度。

步骤1:右键单击XIB文件,并在“源代码”中打开它。

第2步:find相同的UITextfield源,并设置你想要的框架。

您可以使用这些步骤来更改任何苹果控件的框架。

iOS 6的更新:使用自动布局,即使您仍然无法从Interface Builder中的Size Inspector设置UITextField的高度(至less是Xcode 4.5 DP4),现在可以设置Height约束它可以从Interface Builder编辑。

此外,如果您通过代码设置框架的高度,自动布局可能会重置它取决于您的视图可能有其他约束。

我知道这是一个古老的问题,但我只是想添加,如果你想轻松地从IB内部改变UITextField的高度,那么只需将该UITextfield的边界types更改为默认的圆angulartypes以外的任何其他types。 然后,您可以轻松地从编辑器内部拉伸或更改高度属性。

swift3

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

界面生成器

  • BigTextFieldreplaceUITextField
  • Border Style更改为none

我可悲的贡献,这个愚蠢的问题。 在IB中将样式设置为无,因此您可以设置高度,然后在IB中将类设置为UITextField的子类,强制将样式舍入为圆angular。

 @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的frame属性来改变框架Like-Textfield.frame = CGRECTMake(x轴,y轴,宽度,高度)

如果你正在创build大量的UITextFields ,可以更快地inheritanceUITextView并覆盖setFrame方法

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

这样你可以打电话
[customTextField setFrame:<rect>];

UITextField的高度在Attributes Inspector中只有在具有默认的圆angular边框样式时才是可调整的,但是添加高度约束(加上满足自动布局系统所需的任何其他约束(通常只需使用Add Missing Constraints)调整约束将调整文本字段的高度。 如果你不想约束,约束可以被删除(清除约束),文本字段将保持在调整后的高度。

奇迹般有效。