Ios 如何为中心选项卡栏项目Swift 4创建自定义操作
我想为中心选项卡栏项创建自定义操作。我的代码是Ios 如何为中心选项卡栏项目Swift 4创建自定义操作,ios,swift,uitabbarcontroller,swift4,Ios,Swift,Uitabbarcontroller,Swift4,我想为中心选项卡栏项创建自定义操作。我的代码是 import UIKit class ViewController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() let homeTabBarItem = generateNavController(vc: HomeViewController(), title: "Home&qu
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
}
}
最初,我的选项卡栏看起来应该是常规的选项卡栏,但当按下中间的项目时,应该会像下面这样弹出屏幕(查看图像)如果有人能帮我,我将不胜感激。
*很抱歉,如果帖子格式不正确,这是我第一次在stackoverflow上发帖。基本上,整个想法是不可能的。此ActionViewController不能同时过两种不同的生活。它不能是一个普通的选项卡栏项目,也不能调用显示的视图控制器。我是否应该将其设置为UIButton,然后为该按钮指定一个操作?是的,这正是我所想的。