iPhone/iOS:确定UITextField的默认/首选高度

iPhone/iOS:确定UITextField的默认/首选高度,iphone,objective-c,ios,Iphone,Objective C,Ios,我正在以编程方式创建UITextField(即不在Interface Builder中),我想知道应该为其框架使用什么高度值。是否有一种简单的方法来确定这一点,或者我必须硬编码一个值?aUITextField可以任意高。除非文本字段中有文本,否则没有“首选”高度,在这种情况下,可以使用NSString的方法: 对于四舍五入的文本字段,Interface builder默认为31。但是textField.text在创建时没有任何文本,文本由用户输入。即使它确实有一些文本,那么文本本身周围的UITe

我正在以编程方式创建UITextField(即不在Interface Builder中),我想知道应该为其框架使用什么高度值。是否有一种简单的方法来确定这一点,或者我必须硬编码一个值?

a
UITextField
可以任意高。除非文本字段中有文本,否则没有“首选”高度,在这种情况下,可以使用
NSString
的方法:


对于四舍五入的文本字段,Interface builder默认为31。

但是textField.text在创建时没有任何文本,文本由用户输入。即使它确实有一些文本,那么文本本身周围的UITextField的边框和填充呢?在计算高度时不需要考虑它们吗?@Ramon是的,你需要考虑这些因素。因此,如果textfield没有任何初始数据,那么我担心您可能必须坚持使用height值,然后再使用它。这可能需要一些调整,但最终你会明白的。
CGSize size = [textField.text sizeWithFont:[UIFont systemFontOfSize:12]];
CGRect frame = textField.frame;
frame.size = CGSizeMake(textField.frame.size.width, size.height);
textField.frame = frame;