如何确定 UITextfield 中文本的长度

How to determine the length of the text in a UITextfield

提问人:gabac 提问时间:1/28/2011 更新时间:10/15/2021 访问量:11959

问:

我有一个 UITextField,我想从中确定输入文本的宽度。

bounds 属性仅具有 Textfield 的大小,而没有文本的大小

iPhone iOS UI文本字段

评论


答:

6赞 Joe 1/28/2011 #1

如果您正在寻找字符数,那就是这个

int textLength = [someTextField.text length]

如果您正在寻找像素宽度,请尝试一下

CGSize size = [someTextField.text sizeWithFont:someTextField.font];
//size.width contains the width
0赞 theChrisKent 1/28/2011 #2
CGSize size = [myTextField.text sizeWithFont:myTextField.font];

文档在这里: http://developer.apple.com/library/ios/documentation/UIKit/Reference/NSString_UIKit_Additions/Reference/Reference.html#//apple_ref/occ/instm/NSString/sizeWithFont

14赞 Martin Babacaev 1/28/2011 #3
CGFloat width =  [aTextField.text sizeWithFont:aTextField.font].width;
0赞 HeikoG 1/28/2011 #4

UILabel 中文本的像素宽度有帮助吗?

-1赞 The deals dealer 1/28/2011 #5

textField 是委托的,它在界面构建器中附加......

[textField.text 长度]

8赞 gwest7 9/9/2015 #6

现在,在iOS 7.0使用中已弃用sizeWithFont:

CGFloat width =  [tf.text sizeWithAttributes: @{NSFontAttributeName:tf.font}].width;

https://developer.apple.com/library/ios/documentation/UIKit/Reference/NSString_UIKit_Additions/#//apple_ref/occ/instm/NSString/sizeWithAttributes

3赞 miletliyusuf 2/22/2017 #7

在 Swift 3.0 中:

let size = aTextField.attributedText?.size()
let height = size.height
let width = size.width