

Xcodeの雛形のMaster-Detailを使って作ったプロジェクトのDetailViewControllerで、

[code]

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
    
        // ナビゲーションを透明にする処理
        self.navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
        self.navigationController!.navigationBar.shadowImage = UIImage()
    }
    
[/code]

としてもnavigationBarが透明になりません。

[code]

    navBar?.tintColor = UIColor.redColor()
    
[/code]

は、反応して「＜」ボタンが赤くなります。

更に  
上のコードをMaster側に書いても、  
透明になりません。

どうすれば透明にできますか？


CC BY-SA 3.0
2016-08-20T08:08:01.203
28389
2016-08-21T10:53:03.470
2016-08-21T10:53:03.470
12297
12297
question
swift xcode
UISplitViewControllerのDetailViewControllerでnavigationBarが透明にならない。


これは、Show Detail Segue の挙動がどういうものなのかを理解する必要があります。

Master と Detail で画面が分かれる場合には、Detail の `UINavigationController` は使われません。Master
の `UINavigationController` の ViewController スタックの先頭を置き換えます。

iPhone 6S Plus の Landscape や iPad で確認すれば透明になっているのが分かると思います。

[![透明ですよね](https://i.stack.imgur.com/KDdtU.png)](https://i.stack.imgur.com/KDdtU.png)


CC BY-SA 3.0
2016-08-21T09:26:47.833
28409
2016-08-21T09:26:47.833
5337
28389
answer