2017-01-11 3 views
0

私はviewControllerを持っています。インサイド私はこのビュー内ビューと表示ボタンの中にUINavigationBarを追加します。

lazy var cView : UIView = { 
    var view = UIView() 
    view.backgroundColor = .red 
    return view 
}() 

UIViewを持っている私はUINavigationBar

lazy var navigationBar : UINavigationBar = { 
    let bar = UINavigationBar() 
    let leftButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.done, target: self, action: #selector(cancel)) 
    bar.topItem?.setLeftBarButton(leftButton, animated: true) 
    let rightButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.done, target: self, action: #selector(done)) 
    bar.topItem?.setRightBarButton(rightButton, animated: true) 
    bar.barTintColor = .green 
    bar.tintColor = UIColor.red 
    bar.barStyle = .default 
    bar.isTranslucent = false 
    return bar 
}() 

を持っている問題は、のViewControllerに、私は緑のバーとし、任意のボタンのない唯一の赤のビューを参照してくださいということです。

私は間違っていますか?ボタンを見えるようにするには?

答えて

0

bar.topItem UINavigationBarが初期化されると、UINavigationItemはnilになります。 bar.setItems(items:[UINavigationItem] ?, animated:Bool)メソッドを使用してbar.topItemを設定する

+0

このメソッドで左右のボタンを設定する方法は? –

+0

私は、これは動作するはずだと思う: 'bar.setItems([UINavigationItem()]、アニメーション:偽) bar.topItem .setLeftBarButton(leftButton、アニメーション:真)?' –

関連する問題