2017-01-17 10 views
0

私は2つのボタンを追加したいカスタムタブバーコントローラを持っています。 1つの拡大された中央ボタンと1つのボタンが左側にあり、トップナビゲーションバーの代わりにタブバーから起動されるサイドバーバーメニューを作成します。タブバー高さとボタンサイズ - 固定ですか?

私は、ボタンの高さをプログラマチックに取得しようとしていたので、ボタンの高さを設定することができます。だから私は読んで、動作しない次のコードを試してみました。

self.tabBarController?.tabBar.frame.size.height 

タブバーはデバイスに関係なく固定された49ピクセルです。私のボタンの位置を設定する

menuButtonFrame.origin.y = self.view.bounds.height - (CGFloat(49) - menuButtonFrame.size.height)/2 

:その場合は

それはのようなものを使用しても安全ですか? (ブラックボックス)その位置はまだすぐにはありません

また、タブバーボタンのデフォルト値は何ですか?

enter image description here

+0

あなたは画面を共有できますか? –

+0

質問のスクリーンショットを追加しました。ボタンは、タブバーの高さについて主に不思議に思うだけで、正しく配置されていません。それは静的で、ボタンのサイズはデフォルトですか? – DuckMan

+0

あなたの要件についてはわからないが、このリンクがあなたに役立つことを願っています。 https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar –

答えて

0

このようUIViewのを作成し、あなたの願いとして、中心アイテムの高さを設定します。

enter image description here

そしてTabbarViewコントローラーで

。このビューをタブバーに追加するビューこのようにします。

UITabBar.appearance().shadowImage = UIImage() 

     customNavBar = NSBundle.mainBundle().loadNibNamed("CustomTabBarView", owner: self, options: nil)[0] as! UIView 

     bdNavBar.translatesAutoresizingMaskIntoConstraints = false 

     self.tabBar.addSubview(customNavBar) 

カスタムタブバーに制約を追加します。

self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Left, relatedBy: .Equal, toItem: self.view, attribute: .Left, multiplier: 1.0, constant: 0)) 
self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Right, relatedBy: .Equal, toItem: self.view, attribute: .Right, multiplier: 1.0, constant: 0)) 
self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Bottom, relatedBy: .Equal, toItem: self.view, attribute: .Bottom, multiplier: 1.0, constant: 0)) 
bdNavBar.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: NSLayoutAttribute.Height, relatedBy: .Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1.0, constant: 50))   
self.tabBar.bringSubviewToFront(customNavBar) 
関連する問題