有没有一种方法可以垂直重新放置UIKit标签栏?如 gmail app navigation
这个问题已经问了好几次了。我发现的所有解决方案似乎都不适合我。我正在Swift中寻找解决方案,没有第三方库。
答案 0 :(得分:-1)
就像@rmaddy所说的一样,您将需要创建一个自定义标签并将其放置在如下所示的视图中。
仅供参考,您可以使用按钮轻松构建自定义标签栏。
单击后,只需使用以下扩展名将新控制器添加为子视图。
extension UIViewController {
func add(parentViewController: UIView, childViewController: UIViewController) {
// Add Child View Controller
addChild(childViewController)
// Add Child View as Subview
parentViewController.addSubview(childViewController.view)
// Configure Child View
childViewController.view.frame = parentViewController.bounds
// Notify Child View Controller
childViewController.didMove(toParent: self)
}
}
因此在主视图控制器中,它应该看起来像这样。
class MainController: UIViewController {
// Outlets
@IBOutlet weak var mainView: UIView!
// Lazy loaded controller
private lazy var tab1Controller: Tab1Controller = {
// Instantiate View Controller
let tab1Controller = UIStoryboard(name: "Tab1Controller", bundle: nil).instantiateViewController(withIdentifier: "Tab1") as! Tab1Controller
return tab1Controller
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
// MARK: - Tab Bar
@IBAction func Tab1TouchUpInside(_ sender: Any) {
// Navigate to child view
self.add(parentViewController: self.mainView, childViewController: self.tab1Controller)
}
}
希望有帮助!