无法将类型“(SwipeableTabBarController).Type”的值转换为预期的参数类型“UIView”
Posted
技术标签:
【中文标题】无法将类型“(SwipeableTabBarController).Type”的值转换为预期的参数类型“UIView”【英文标题】:Cannot convert value of type '(SwipeableTabBarController).Type' to expected argument type 'UIView' 【发布时间】:2019-04-01 20:48:03 【问题描述】:我想将 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)
【问题讨论】:
【参考方案1】:您不能在此处添加用户定义类型 SwipeableTabBarController
选项卡作为子视图
view.addSubview(SwipeableTabBarController)
你需要添加一个类似的实例
let vc = SwipeableTabBarController()
self.addChild(vc)
vc.view.frame = self.view.bounds
view.addSubview(vc.view)
vc.willMove(toParent:self)
【讨论】:
【参考方案2】:如果您的 tabBarController 是应用程序的根视图控制器,请使用它。
if let window = UIApplication.shared.keyWindow,
let tabBar = window.rootViewController as? SwipeableTabBarController
tabBar.isSwipeEnabled = enabled
【讨论】:
以上是关于无法将类型“(SwipeableTabBarController).Type”的值转换为预期的参数类型“UIView”的主要内容,如果未能解决你的问题,请参考以下文章
C# 无法将类型为“System.Byte[]”的对象强制转换为类型“System.Data.DataTable
无法将类型“[PHAsset]”的值分配给类型“UIImageView!”