无法将类型((SwipeableTabBarController).Type)的值转换为预期的参数类型'UIView'

时间:2019-04-01 20:48:04

标签: swift uitabbar

我想将Tabbar添加到我的应用程序中。但是,当我尝试添加它时,它在标题中给出了错误。如何激活Tabbar功能?

public extension UIViewController { 
    public func setTabBarSwipe(enabled: Bool) {
        if let swipeTabBarController = tabBarController as? SwipeableTabBarController {
            swipeTabBarController.isSwipeEnabled = enabled
        }
    }
}

class MainTableViewController: UITableViewController {
override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(SwipeableTabBarController)
}

2 个答案:

答案 0 :(得分:0)

如果您的tabBarController是应用程序的根视图控制器,请使用它。

        if let window = UIApplication.shared.keyWindow, 
           let tabBar = window.rootViewController as? SwipeableTabBarController {                 
             tabBar.isSwipeEnabled = enabled
        }

答案 1 :(得分:0)

您不能在此处将用户定义的类型SwipeableTabBarController标签添加为子视图

 view.addSubview(SwipeableTabBarController)

您需要添加一个实例,例如

 let vc = SwipeableTabBarController()
 self.addChild(vc)
 vc.view.frame = self.view.bounds
 view.addSubview(vc.view)
 vc.willMove(toParent:self)