UITabBar 在 "Back" 按钮后消失
UITabBar disappears after "Back" button
我有一个 UITableView
和一个 TabBar
.
当我单击一个单元格时,它会将我带到一个新视图,而当我单击 "Back"
我又回到了之前的UITableView
.
只有这一次,TabBar
没有显示。我怎样才能让它再次出现?
注意:最左边的视图是点击单元格时显示的视图
查看 A 和 B
点击后 "Back" - UITabBar 消失了
如果您手动设置 "back" 按钮,只需将 "back" segue 的目的地从 viewController 设置到 navigationController。
但是 TabBar 和 NavController 的正确使用方法是这样的:
使用此设置,它应该可以工作。
class ViewController: UIViewController {
var array = ["one", "two", "three"]
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.textLabel?.text = array[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "goToDetail", sender: self)
}
}
编辑
由于您在视图 B 中隐藏了 tabBar,因此只需取消隐藏它即可。
将此代码添加到您的视图 B
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.tabBarController?.tabBar.isHidden = false
}
我有一个 UITableView
和一个 TabBar
.
当我单击一个单元格时,它会将我带到一个新视图,而当我单击 "Back"
我又回到了之前的UITableView
.
只有这一次,TabBar
没有显示。我怎样才能让它再次出现?
注意:最左边的视图是点击单元格时显示的视图
查看 A 和 B
点击后 "Back" - UITabBar 消失了
如果您手动设置 "back" 按钮,只需将 "back" segue 的目的地从 viewController 设置到 navigationController。
但是 TabBar 和 NavController 的正确使用方法是这样的:
使用此设置,它应该可以工作。
class ViewController: UIViewController {
var array = ["one", "two", "three"]
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.textLabel?.text = array[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "goToDetail", sender: self)
}
}
编辑
由于您在视图 B 中隐藏了 tabBar,因此只需取消隐藏它即可。
将此代码添加到您的视图 B
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.tabBarController?.tabBar.isHidden = false
}