デフォルトのマスター/詳細アプリケーション ストーリーボードで開始された IOS アプリに取り組んでいます。詳細ビュー コントローラーから新しい UIViewcontroller にセグエを追加する以外は、元のレイアウトを変更していません。自分のクラスで。追加したView Controllerでナビゲーションバーを透明にしたいのですが、インターネット上でそれを実現する方法の例がたくさん見つかりました。私が抱えている問題は、iPadでテストすると、ナビゲーションバーが期待どおりに透明になることですが、iPhoneでは何をしてもナビゲーションバーは同じままです。
私は Xcode 7 ベータ版を実行しており、すべてが Swift でコーディングされています。
View Controller の viewDidLoad 関数には、次のコード行があります。
self.navigationController!.navigationBar.translucent = true;
self.navigationController!.navigationBar.shadowImage = UIImage()
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController.navigationBar.backgroundColor = UIColor.ClearColor()
これらの行をさまざまな方法で試しました...ここに私が試したもののいくつかがあります
- 代わりにこれらの行を viewWillAppear で実行します。
- UINavigationBar.appearance() から返されたオブジェクトで同じ基本コードを実行する
- 親View Controllerを取得し、そのnavigationbarオブジェクトで同じ設定を実行します。
これらの変更のいずれも、動作に影響を与えていません。マスター ビュー コントローラーが最初にフルスクリーンで表示されるすべての IOS デバイスは、ナビゲーション バーを通常のままにするように見えますが、詳細ビューまたは両方のビューを最初に表示するすべてのデバイスは、ナビゲーション バーを透明にします。これらのシナリオでは、別の方法でナビゲーション バーにアクセスする必要があると考えています..しかし、アイデアがありません。
ありがとう!