如何确定 UITextfield 中文本的长度

Posted

技术标签:

【中文标题】如何确定 UITextfield 中文本的长度【英文标题】:How to determine the length of the text in a UITextfield 【发布时间】:2011-01-27 18:35:14 【问题描述】:

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

bounds 属性只有文本字段的大小,而不是文本的大小

【问题讨论】:

【参考方案1】:
CGFloat width =  [aTextField.text sizeWithFont:aTextField.font].width;

【讨论】:

【参考方案2】:

现在 sizeWithFont:ios 7.0 中已被弃用

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】:

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

int textLength = [someTextField.text length]

如果您正在寻找像素宽度,试试这个

CGSize size = [someTextField.text sizeWithFont:someTextField.font];
//size.width contains the width

【讨论】:

【参考方案4】:

在 Swift 3.0 中:

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

【讨论】:

【参考方案5】:
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:

【讨论】:

【参考方案6】:

Pixel Width of the text in a UILabel 有帮助吗?

【讨论】:

【参考方案7】:

textField 是接口生成器中的委托,而不是......

[textField.text 长度]

【讨论】:

以上是关于如何确定 UITextfield 中文本的长度的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IOS 的 UIAlertView 中清除 UITextfield 文本和确定按钮?

如何移动/动画 UITextField 占位符文本

ios开发UI篇—UITextfield

如何将 UITextField 数据复制到 UILabel

如何更好地限制一个UITextField的输入长度

如何设置material-ui文本字段的样式