2017-02-14 2 views
0

Ich möchte eine Auswahl neben einem Textfeld anzeigen, wenn der Benutzer editiert. Nach dem Bearbeiten verschwindet der Picker.IOS-Einstellung Breite des Textfelds programmgesteuert

Deshalb änderte ich die Breite eines Textfeldes wie dies in textFieldDidBeginEditing:

func textFieldDidBeginEditing(_ textField: UITextField) 
{ print ("textFieldDidBeginEditing") 
    let newSize = CGSize(width: 90.0, height: textfield.frame.height) 
    let newFrame = CGRect(origin: textfield.frame.origin, size: newSize) 
    textfield.frame = newFrame 
} 

In textFieldDidEndEditing die Breite auf den alten Wert zurückgesetzt wird.

Dies funktioniert gut, die Zeit (beginEditing, endEditing) In folgenden Versuchen die mit nicht wieder geändert (die print-Anweisung erreicht ist)

Was ist los gehen.

+0

Können Sie erklären, was genau Sie vorhaben? – Rikh

+0

Ich denke, ich habe das Problem gefunden. Ich habe einige automatische Layoutbeschränkungen verwendet, die meine Einstellungen im Code meiner Frage überschreiben. Ich bearbeite jetzt die Einschränkung in der textFieldDidBeginEditing und textFieldDidEndEditing. Wenn der Beitrag wieder geöffnet wird, werde ich meine Lösung posten – mica

Antwort

1

Alles funktioniert gut in meinem Testprojekt, versuche, textfield.setNeedsDisplay() einzufügen, nachdem ein neuer Frame gesetzt wurde.

Verwandte Themen