2011-07-13 24 views
3

私はわかっているように、タブバーを画面の下部に表示しています。私はそれを上に移動する方法を探しています。私はUINavigationControllersをその下にネストする必要があるので、私は単純なUITabBarを使うことはできないと思います。タブバーを画面の上に移動

UITabBarControllerのタブバーを画面上部に移動する方法はありますか?

答えて

0

私はそうは思わない。私が考えることができるのは、UITabbarControllerの代わりにUITabBarを使用することです。

これは、異なるタブ用にロードされたビューごとにUINavigationControllersを入れ子にすることを検討している場合は、 (スウィフト中)

+0

左手側にuitabbarを設定する方法を教えてください。事前にありがとう – seggy

2

TabBarViewController.swiftファイル(彼が望んでいるとして、誰もがこのファイルを指名した)では:

  • まず:タブバーのIBOutletを作成し、その後にそれを接続しますストーリーボードまたはnibファイルの適切なタブバー。

    @IBOutlet var profileTabBar : UITabBar! 
    
  • 第二:あなたは(この場合には、私はナビゲーションコントローラの下でデタブバーを追加)したいタブバーを位置付けるのviewDidLoad()機能でこのコードを追加します。位置の変更を変更するにはxおよびyCGRectMakeイニシャライザ。

    // [Maybe you don't have a navigation controller] yNavBar indicates the height of the navigation bar. 
    var yNavBar = self.navigationController?.navigationBar.frame.size.height 
    // yStatusBar indicates the height of the status bar 
    var yStatusBar = UIApplication.sharedApplication().statusBarFrame.size.height 
    // Set the size and the position in the screen of the tab bar 
    profileTabBar.frame = CGRectMake(0, yNavBar! + yStatusBar + profileTabBar.frame.size.height, profileTabBar.frame.size.width, profileTabBar.frame.size.height) 
    
+0

TabBarViewControllerはUITabBarControllerのサブクラスですか? – ransomweaver

+0

いいえ、TabBarViewControllerクラスは存在しません –

+0

あなたの答えをありがとう。それは私のために働いたが、私はタブバーを動かした場所に黒い領域を持っている。誰でも助けることができますか? – Sam

6

"viewDidLayoutSubviews" 方法でこのコードを試してみてください、あなたのUITabBarController

スウィフト2.X

self.tabbar.frame = CGRectMake(0,0,320,50) //example for iPhone 5 

スウィフト3.X

self.tabbar.frame = CGRect(0,0,320,50) //example for iPhone 5 

スウィフト4.X

self.tabbar.frame = CGRect(x: 0, y: 0, width: 320, height: 50) //example for iPhone 5 
+0

私も同じことをしますが、私の場合はうまくいきません。私はちょうどいくつかの画面でタブバーを削除したいが、それは動作していない。 –

+1

Tabbarクラスのメソッド "viewDidLayoutSubviews"内のコードを実行してください – Ujesh

+1

ああ動作していますが、あなたの答えに言及してください。もう一度ありがとうございます。 –

0

私はその後、私は単にここViewDidLoad()

import UIKit 

class TabbarViewController: UITabBarController { 

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.tabBar.frame = CGRect(origin: CGPoint(x: 0,y :64), size: CGSize(width: 400, height: 50)) 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
} 

Tab Bar ControllerTabBar位置を変更Tab Bar Controllerを使用するには、ショート必要なの添付画面です結果... Tab bar on top in tab bar view conmtroller

注:それは速いです3あなたは自分でswift 2. *に構文を変更することができます。

関連する問題