问题描述
我想制作一个包含5个选项卡项的选项卡栏。我希望中间的那个(第三个)在选项卡栏的角之外,这可能很难理解,因此我决定添加屏幕截图
我想做一些你可以在上面看到的东西,但我不知道这是怎么可能的。 如果您能推荐我这样做,我将不胜感激。
推荐答案
创建UITabBarControler类并将其分配给TabBarControler.
初始化变量
let button = UIButton.init(type: .custom)
然后在view DidLoad
中override func viewDidLoad() { super.viewDidLoad() button.setImage(UIImage(named: "IMAGE_NAME_FROM_ASSETS"), for: .normal) button.backgroundColor = UIStyle.Color.CameraBG button.layer.cornerRadius = 40 button.addShadow(offset: CGSize(width: 5, height: 5), color: UIStyle.Color.CameraShadow, radius: 5, opacity: 0.1) button.addTarget(self, action: #selector(pressedAction(_:)), for: .touchUpInside) self.view.insertSubview(button, aboveSubview: self.tabBar) }
在您的班级中添加viewDidLayoutSubview
override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() // safe place to set the frame of button manually button.frame = CGRect.init(x: self.tabBar.center.x - 40, y: self.view.bounds.height - 100, width: 80, height: 80) }
要执行的操作单击按钮
@objc func pressedAction(_ sender: UIButton) { // do your stuff here let nc = UINavigationController(rootViewController: YOURVC.storyboardInstance()) nc.modalPresentationStyle = .fullScreen present(nc, animated: true, completion: nil) }