2016-06-11 6 views
0

私はobjective-cプロジェクトに新しいView Controllerを追加しました。新しいView ControllerはSwiftに書かれています。ビューの背景色をどのような色にしても、白(デフォルト)または黒のいずれかになります。デフォルトの背景色のアルファ値を小さくすると、グレーだけになります。他の色で約0.4アルファを超えるものがあれば、そのビューは黒です。混合された目的のc/swiftプロジェクトでのストーリーボードの問題

第2の問題:ビューの背景色を設定するSwiftビューコントローラのコードは効果がないようです。関連するコードは以下の通りです。私は最初に背景の色を白くアルファ1.0で設定し、それを好みの色に変更します。これらはどれも効果がありません。これは既にストーリーボードに設定されているためですか?もしそうなら、私はどのようにプログラムでストーリーボードの設定を上書きできますか?私はSwiftにとってはとても新しいですが、約1年間はobjective-cをプログラミングしていましたが、純粋なobjective-cプロジェクトでこのような問題は見られませんでした。 Xcodeのバージョンは7.3です。

本当に助けていただければ幸いです。

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) 

答えて

0

自動レイアウトの問題が原因です。自動レイアウトの問題がある場合(たとえプロジェクトナビゲータの赤い矢印で示されていなくても)、ストーリーボードは黒い画面を生成します。私はSwiftでこれがどうして起こるのかよく分かりません。objective-Cはレイアウトの問題がある画面を生成するだけです。 autolayoutの問題がすべて修正されると(通常は[提案された制約にリセット]を使用して)、黒い画面は表示されません。また、画面の背景色を設定するためのコードを次に働いています。これは非常にイライラしていて、ビューの基礎となるコードがSwiftで客観的ではないときに、なぜこのように動作するのかわかりません。しかし、小さなオートレイアウトの問題があるストーリーボードシーンのバリエーションがわずかであれば、黒い画面が表示されます。

関連する問題