2017-12-19 5 views
0

Wenn UITextfield in der viewdidload-Methode sichtbar ist, ist die Hintergrundfarbe sichtbar. Wenn das Textfeld jedoch verborgen bleibt, bis ein Ereignis eintritt, ist seine Hintergrundfarbe nicht sichtbar. In dem Bild habe ich Textfeld weißen Hintergrund mit einem Alpha-Wert gegeben. Im ersten Fall ist die Farbe sichtbar, aber im zweiten Fall scheint die Hintergrundfarbe die klare Farbe zu sein.UItextfield zeigt keine Hintergrundfarbe an

Diese Textfelder befinden sich in UIStackView.

Transparent Background color Visible Background Color

+0

Bitte teilen Sie den Code, so dass wir etwas haben – Sune

+0

debuggen Sie können von hier aus das Beispielprojekt herunterladen, die genau das gleiche Problem wird mit . https://www.dropbox.com/s/c4t7fklqnqon8zi/testfield.zip?dl=0 – Vikas

+0

Auch dieses Problem tritt nur mit dem Textfeld auf, das zum Zeitpunkt des Ladens nicht sichtbar ist. Dieses Problem hat etwas mit UIStackView zu tun. Das Entfernen von Feldern aus UIStackView behebt das Problem. – Vikas

Antwort

1

Wenn Textfeld in stackView Anruf

self.field1.isHidden = false 

    self.field1.setNeedsDisplay() 
+0

Ich habe die Farbe programmatisch hinzugefügt. Beide Textfelder haben dieselbe benutzerdefinierte Klasse. Idealerweise sollten sie genau gleich aussehen – Vikas

+0

Standardmäßig isHidden = true löschen Sie die Hintergrundfarbe oder dem Display –

+0

Hier ist das Beispielprojekt. https://www.dropbox.com/s/c4t7fklqnqon8zi/testfield.zip?dl=0 Problem kann in diesem Projekt überprüft werden. Auch wenn wir Textfelder außerhalb von UIStackView entfernen, wird das Problem automatisch behoben – Vikas