如何设置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:更改高度限制的常数值
- select不舍入的边框样式
- 设置你的身高
在你的viewWillAppear将angular落设置为圆形
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
- 享受你的圆形和高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 } } }
界面生成器
- 用
BigTextField
replaceUITextField
。 - 将
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)调整约束将调整文本字段的高度。 如果你不想约束,约束可以被删除(清除约束),文本字段将保持在调整后的高度。
奇迹般有效。