1
私はSwiftのこのソリューションのために本当に難しいと思っていましたが、私のために働くものを思いついていません。私は、 "管理" TabBarItemを、そのアプリケーションにログインする人の許可に基づいて隠そうとしています。私はそれを無効にすることができますが、それでもバーに表示されます。私は特定の人々のためにそれを示し、他の人のためにそれを隠すことができるようにしたい。また、私がself.tabBarController?.viewControllers
を印刷すると、私はゼロになる。SwiftのUITabBarItemを削除/非表示
class TabBarMenuController: UITabBarController {
let ref = Firebase(url: "")
var position = ""
func getPosition() {
let userRef = ref.childByAppendingPath("users/\(ref.authData.uid)")
userRef.observeSingleEventOfType(.Value, withBlock: {snapshot in
if snapshot.value["position"] as! String != "Staff" {
self.position = snapshot.value["position"] as! String
}
})
}
override func viewWillAppear(animated: Bool) {
getPosition()
print(self.tabBarController?.viewControllers)
if position != "Staff" {
if let tabBarController = self.tabBarController {
let indexToRemove = 3
if indexToRemove < tabBarController.viewControllers?.count {
var viewControllers = tabBarController.viewControllers
viewControllers?.removeAtIndex(indexToRemove)
tabBarController.setViewControllers(viewControllers, animated: true)
}
}
}
}
また、私はAppleの意図した使用に反していることを読んでいます。本当ですか?このタイプの機能を実現するためのより良いワークフローはありますか?