2016-08-09 4 views
1

Ich möchte Sie um Hilfe bei diesem Problem bitten. Ich habe das UITextField, das nur 2 Zeichen braucht. Wenn die Anwendung gestartet wird, gibt es einen Platzhalter mit YY-Zeichen. Wenn der Benutzer mit der Bearbeitung beginnt und die Nummer eingibt, ist alles in Ordnung. Nach dem Bearbeiten des Textfelds wird die erste Zahl formatiert, sieht aus wie nach links verschoben, aber wenn ich beide Nummern lösche und sie wieder schreibe, funktioniert alles auch nach wiederholter Bearbeitung.UITextField schneidet den Text während der Bearbeitung

Ich habe versucht, so viele Optionen und auch die Protokoll zeigt, dass Breite Grenzen: 20.000000 von Textfeld ist höher als Größe der Textbreite: 17,979492

Hier ist der Code für die Größe des Textes Berechnung

-(CGFloat)lengthOfTextField:(NSString *)textField{ 

    CGSize textSize = [textField sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17.0f]}]; 
    CGFloat width = textSize.width; 

    return width; 
} 

Hier ist der Code für das Textfeld Rahmen

-(void)setYearPosition 
{ 
    if(self.yearField.text.length >= 2){ 
    self.yearField.frame = CGRectMake(self.yearField.frame.origin.x, 
             self.yearField.frame.origin.y, 
             [self lengthOfTextField:self.yearField.text] + 10, 
             self.yearField.frame.size.height); 

    } 
} 

Danke für Ihre Hilfe einstellen.

Antwort

-1

diesen Code in Ihrer ViewDidLoad Methode Versuchen

[self.view layoutIfNeeded]; 

Hoffnung, das hilft.

+0

Es hat nicht geholfen. –

Verwandte Themen