问题描述
import UIKit
class ViewController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let hoMetabBarItem = generateNavController(vc: HomeViewController(),title: "Home",image:#imageLiteral(resourceName: "address_book"))
let workOrderTabBarItem = generateNavController(vc: SecondViewController(),title: "Work Order",image: #imageLiteral(resourceName: "address_book") )
let actionItemTabBarItem = generateNavController(vc: ActionViewController(),title:"",image: #imageLiteral(resourceName: "address_book") )
let requestTabBarItem = generateNavController(vc: ThirdViewController(),title: "Request",image: #imageLiteral(resourceName: "address_book") )
let settingsTabBarItem = generateNavController(vc: FourthViewController(),title: "Settings",image: #imageLiteral(resourceName: "address_book"))
UINavigationBar.appearance().prefersLargeTitles = true
viewControllers = [hoMetabBarItem,workOrderTabBarItem,actionItemTabBarItem,requestTabBarItem,settingsTabBarItem]
}
fileprivate func generateNavController(vc: UIViewController,title: String,image: UIImage) -> UINavigationController {
vc.navigationItem.title = title
let navController = UINavigationController(rootViewController: vc)
navController.title = title
navController.tabBarItem.image = image
return navController
}
func tabBarController(_ tabBarController: UITabBarController,shouldSelect viewController: UIViewController) -> Bool {
if viewController.isKind(of: ActionViewController.self) {
let vc = ActionViewController()
vc.modalPresentationStyle = .overFullScreen
self.present(vc,animated: true,completion: nil)
return false
}
return true
}
}
最初,我的tabBar应该看起来像常规的tabBar,但是当按下中间项目时,应该会弹出这样的屏幕(查看下面的图片)
PopUp Screen
我几乎要完成这项任务了,如果有人可以帮助我,我将不胜感激。 *很抱歉,如果帖子格式不正确,这是我第一次在stackoverflow上发布帖子。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)