14 Stimmen

Wie man die Länge des Textes in einem UITextfield bestimmt

Ich habe ein UITextField, von dem ich die Breite des eingegebenen Textes bestimmen möchte.

Die Bounds-Eigenschaft hat nur die Größe des Textfeldes, nicht aber die des Textes

14voto

Martin Babacaev Punkte 6140
CGFloat width =  [aTextField.text sizeWithFont:aTextField.font].width;

8voto

gwest7 Punkte 1396

Nun, da sizeWithFont: ist in iOS 7.0 veraltet.

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 :

6voto

Joe Punkte 56389

Wenn Sie nach der Anzahl der Zeichen suchen, ist es dies

int textLength = [someTextField.text length]

Wenn Sie nach der Pixelbreite suchen, versuchen Sie dies

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

4voto

miletliyusuf Punkte 582

In Swift 3.0:

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

0voto

theChrisKent Punkte 14951

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X