2016-10-04 10 views
0

ストーリーボードからナビバーを追加することはできませんが、私はそれを必要としています。 私はそうしようとした:すぐにコードからナビゲーションバーのサイズを変更する方法

let navBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 44)) 
    self.view.addSubview(navBar); 
    let navItem = UINavigationItem(title: "SomeTitle"); 
    let doneItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: nil, action: "selector"); 
    navItem.leftBarButtonItem = doneItem; 
    navBar.setItems([navItem], animated: false); 

をしかし、私はこのような何かを得る:中心ナビゲーションバーを設定し、ビューに通常のナビゲーションバーのようなサイズを修正する方法 enter image description here
[OK]を? 私もそれを試してみた:

let xConstraint = NSLayoutConstraint(item: navBar, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0) 
    NSLayoutConstraint.activateConstraints([xConstraint]) 
    self.view.addConstraint(xConstraint) 

それはあなたが新しいNavigationControllerを作成し、あなたに必要なコントローラを提示することができ

+0

あなたが呼んでいる 'view'は画面の全幅ですか? –

+0

ストーリーボード – suhit

+0

のUINavigationControllerにViewControllerを埋め込むことで、navigationControllerをプログラムで作成し、そのナビゲーションコントローラからコントローラをプッシュまたは表示することができます。 –

答えて

0

を動作しません。私はあなたがviewController1にいると仮定して、viewController2を提示したいと思います。あなたは以下のようなことをすることができます

let navigationController = UINavigationController(rootViewController: viewController2()) 
     navigationController.navigationBar.backgroundColor = UIColor.clearColor() 
     navigationController.navigationBar.tintColor = UIColor.clearColor() 
     navigationController.navigationBar.translucent = true 
     // customize according to your need 

     self.presentViewController(navigationController, animated: true, completion: { 

     }) 
関連する問題