我正在使用 UITextField。我想增加它的高度,但我没有找到任何属性这样做。我怎么才能做到呢?
UITextField
试试这个
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(20, 80, 280, 120)];
CGRect frameRect = textField.frame; frameRect.size.height = 100; // <-- Specify the height you want here. textField.frame = frameRect;
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; [txt setText:@"Ananth"]; [self.view addSubview:txt];
最后两个参数是 width 和 height 你可以随意设置..。
Ios6的一个更新: 使用自动布局,即使你仍然不能从 Interface Builder 的大小检查器中设置 uitextField 的高度(至少在 Xcode 4.5 dp4中是这样) ,现在你可以在它上面设置一个高度限制,你可以从 Interface Builder 中编辑。
此外,如果通过代码设置帧的高度,自动布局可能会根据视图可能具有的其他约束重置它。
我知道这是一个老问题,但我只是想添加,如果你想轻松地改变一个 UITextField 的高度从内部 IB 然后简单地改变该 UITextfield 的边界类型,以任何其他类型的默认圆角类型。然后,您可以轻松地从编辑器内部拉伸或更改高度属性。
我终于找到解决办法了!
正如我们所发现的,IB 不允许我们更改圆角边框样式的高度。因此,将其更改为任何其他样式,并设置所需的高度。在代码中将边框样式改回。
textField.borderStyle = UITextBorderStyleRoundedRect;
按照以下两个简单的步骤,增加 UItextField的高度。
UItextField
步骤1: 右键单击 XIB 文件并像“源代码”中那样打开它。
步骤2: 找到相同的 UITextfield源并设置所需的帧。
UITextfield
您可以使用这些步骤来更改任何苹果控件的框架。
如果你正在使用自动布局,那么你可以在故事板上这样做。
向文本字段添加高度约束,然后将高度约束常数更改为任何所需的值。步骤如下:
步骤1: 为文本字段创建高度约束
步骤2: 选择高度约束
步骤3: 更改高度约束的常量值
我对这个愚蠢问题的可悲贡献。在 IB 中将样式设置为无,这样就可以设置高度,然后在 IB 中将类设置为 UITextField的一个子类,该子类强制对样式进行四舍五入。
@interface JLTForcedRoundedRectTextField : UITextField @end @implementation JLTForcedRoundedRectTextField - (void)awakeFromNib { self.borderStyle = UITextBorderStyleRoundedRect; } @end
它使我不必破解 XIB 文件或者在视图控制器中编写样式代码。
不能更改圆角直边框样式的高度。 要设置高度,只需选择 Xcode 圆形边框以外的任何边框样式:
可以使用 textfield 的 frame 属性更改框架 Like-Textfield. frame = CGRECTMake (x 轴,y 轴,宽度,高度)
这很简单。
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
将文本字段声明为全局属性并在代码中任何需要的位置更改其框架。
编码愉快!
在你的视野中,看起来角是圆的
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
如果要创建大量的 UITextFields,那么子类 UITextView和使用
UITextFields
UITextView
-(void)setFrame:(CGRect)frame{ [self setBorderStyle:UITextBorderStyleRoundedRect]; [super setFrame:frame]; [self setBorderStyle:UITextBorderStyleNone]; }
这样你就可以打电话了 [customTextField setFrame:<rect>];
[customTextField setFrame:<rect>];
1)更改 InterfaceBuilder 中的边框样式。
2)之后你就可以改变尺寸了。
3)为 TextField 创建一个 IBOutlet,并在 viewDidLoad()中输入以下代码,以便将 BorderStyle 修改回来。
viewDidLoad()
斯威夫特3:
textField.borderStyle = UITextBorderStyle.roundedRect
@IBDesignable class BigTextField: UITextField { override func didMoveToWindow() { super.didMoveToWindow() if window != nil { borderStyle = .roundedRect } } }
BigTextField
Border Style
none
UITextField 的高度不能仅在属性检查器中调整 当它具有默认的圆角边框样式时,但添加一个 高度限制(加上任何其他限制 满足自动布局系统-往往只是使用添加缺失 约束) ,并调整约束将调整 如果不需要约束,则约束可以 被删除(清除约束) ,文本字段将保留在 调整后的高度。
非常有效。
在 Swift 3中使用:
yourTextField.frame.size.height = 30
我也有同样的问题。在这里尝试了一些解决方案,而不是做所有这些莫名其妙的东西。我发现仅仅设置高度约束就足够了。