2017-11-29 10 views
0

次の問題Why page Push animation Tabbar moving up in the iPhone Xのために、私のプロジェクトにUITabBarのサブクラスを使用する必要があります。UITabBarControllerのUITabBarをプログラムで置換する方法

私はストーリーボードを使用していません。どのようにプログラムでこれを行うことができますか?

- アップデート -

マイCustomTabBarController.swiftファイルは次のようになります。

import UIKit 

@objc class customTabBarController: UITabBarController { 
    override var tabBar: UITabBar { 
     return customTabBar 
    } 
} 

そして、私のCustomTabBar.swiftファイルは次のようになります。

import UIKit 

class customTabBar: UITabBar { 

    override var frame: CGRect { 
     get { 
      return super.frame 
     } 
     set { 
      var tmp = newValue 
      if let superview = superview, tmp.maxY != 
       superview.frame.height { 
       tmp.origin.y = superview.frame.height - tmp.height 
      } 

      super.frame = tmp 
     } 
    } 
} 

しかし、これにより、次のエラーが表示されます。

答えて

2

カスタムタブバーのインスタンスを作成し、UITabBarControllerサブクラス内のtabBarプロパティをオーバーライドする必要があります。

class CustomTabBarController: UITabBarController { 
    let customTabBar = CustomTabBar() 

    override var tabBar: UITabBar { 
     return customTabBar 
    } 
}  
+0

これは、次のエラーを表示します。 'customTabBar.Type'型のリターン式を 'UITabBar'型を返すように変換できません。何か案は? – Christoffer

+0

更新された回答を確認してください。 – the4kman

関連する問題