Как определить длину текста в UITextfield

У меня есть UITextField, из которого я хотел бы определить ширину введенного текста.

свойство bounds имеет только размер текстового поля, но не текст

7 ответов


CGFloat width =  [aTextField.text sizeWithFont:aTextField.font].width;

теперь sizeWithFont: устарел в iOS 7.0 use

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:


Если вы ищете количество символов это

int textLength = [someTextField.text length]

Если вы ищете ширину пикселя, попробуйте это

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

В Swift 3.0

let size:CGSize = aTextField.attributedText.size()
let height = size.height
let width = size.width



textField-делегат, который является attac в построителе интерфейса, чем......

[текстовое поле.длина текста]