选项卡栏中间的选项卡角外
我想制作一个包含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)
}
相关文章