2016-06-11 8 views
0

Ich habe einen neuen View-Controller zu meinem Ziel-C-Projekt hinzugefügt. Der neue View-Controller ist in Swift geschrieben. Alles wird korrekt kompiliert und funktioniert einwandfrei, außer dass, egal welche Farbe ich für die Hintergrundfarbe der Ansicht auswähle, sie entweder weiß (Standard) oder schwarz erscheint. Wenn ich das Alpha für die Standardhintergrundfarbe abnehme, wird es einfach grau. Wenn ich etwas über 0,4 Alpha für eine andere Farbe habe, ist die Ansicht schwarz.Probleme mit Storyboard Farben in gemischten Ziel-c/Swift-Projekt

Zweites Problem: Der Code in meinem Swift View-Controller zum Festlegen der Hintergrundfarbe für die Ansicht scheint keine Wirkung zu haben. Relevanter Code ist unten. Zuerst stelle ich die Hintergrundfarbe des Hintergrunds mit Alpha 1.0 auf Weiß und ändere sie dann auf die gewünschte Farbe. Nichts davon hat Auswirkungen. Liegt das daran, dass es bereits im Storyboard festgelegt wurde? Wenn ja, wie kann ich die Storyboard-Einstellungen programmgesteuert überschreiben? Ich bin Swift sehr neu, habe aber seit ungefähr einem Jahr Ziel-C programmiert, und ich habe dieses Problem in einem reinen Ziel-C-Projekt nicht gesehen. Xcode-Version ist 7.3.

Ich würde wirklich jede Hilfe zu schätzen wissen.

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.username.delegate = self; 
    self.password.delegate = self; 

    self.navigationItem.setHidesBackButton(true, animated:true); 

    view.backgroundColor = UIColor(white: 0x255/255, alpha: 1.0) 


    //set the background color to blue-green 
    view.backgroundColor = UIColor(
     red: 0x00/255, 
     green: 0x7d/255, 
     blue: 0x96/255, 
     alpha: 1.0) 

Antwort

0

Es scheint, dass diese Probleme auf Probleme mit dem automatischen Layout zurückzuführen sind. Wenn Probleme mit dem automatischen Layout auftreten (auch wenn sie nicht im Projektnavigator mit einem roten Pfeil gekennzeichnet sind), wird im Storyboard ein schwarzer Bildschirm angezeigt. Ich bin nicht sicher, warum dies mit Swift passiert: Ziel-C würde nur einen Bildschirm mit einigen Layout-Problemen produzieren. Sobald alle Probleme mit dem automatischen Layout behoben sind (normalerweise mithilfe von Zurücksetzen auf vorgeschlagene Einschränkungen), wird kein schwarzer Bildschirm angezeigt. Auch mein Code für das Einstellen der Bildschirmhintergrundfarbe funktioniert dann. Das war sehr frustrierend und ich weiß nicht, warum es so funktioniert, wenn der Code, der der Ansicht zugrunde liegt, Swift und nicht Objective-C ist. Aber wenn es die kleinste Variation in der Storyboard-Szene gibt, die ein kleines Auto-Layout-Problem hat, bekomme ich einen schwarzen Bildschirm.

Verwandte Themen