Могу ли я добавить две панели вкладок в одном контроллере View, одну панель вкладок внизу и одну панель вкладок вверху - PullRequest
0 голосов
/ 28 ноября 2018

Я занимаюсь разработкой приложения в swift 4 и хочу добавить две панели вкладок одновременно, одну внизу, а другую вверху.Я добавил нижнюю панель вкладок, но понятия не имею, как добавить вторую панель вкладок в тот же контроллер

спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Да, вы можете сделать.Добавьте UITabBar внизу и еще один сверху, как показано ниже.

Однако вы можете выбрать один элемент в каждом UITabBar один раз.Например, если вы выбрали Contacts на верхней панели вкладок, вы также можете выбрать Favourites на нижней панели вкладок.Если вы хотите выбрать один элемент на обеих вкладках, вам следует запрограммировать его вручную.

Добавьте код в viewDidLoad:

let tabbar1 = UITabBar() //Note that tabbar height is fixed to 49
view.addSubview(tabbar1)

tabbar1.translatesAutoresizingMaskIntoConstraints = false
tabbar1.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0.0).isActive = true
tabbar1.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0.0).isActive = true
tabbar1.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 0.0).isActive = true

let contacts = UITabBarItem(tabBarSystemItem: UITabBarItem.SystemItem.contacts, tag: 100)
let bookmarks = UITabBarItem(tabBarSystemItem: UITabBarItem.SystemItem.bookmarks, tag: 101)
tabbar1.setItems([contacts, bookmarks], animated: false)

let tabbar2 = UITabBar() //Note that tabbar height is fixed to 49
view.addSubview(tabbar2)

tabbar2.translatesAutoresizingMaskIntoConstraints = false
tabbar2.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0.0).isActive = true
tabbar2.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0.0).isActive = true
tabbar2.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: 0.0).isActive = true

let downloads = UITabBarItem(tabBarSystemItem: UITabBarItem.SystemItem.downloads, tag: 103)
let favorites = UITabBarItem(tabBarSystemItem: UITabBarItem.SystemItem.favorites, tag: 104)
tabbar2.setItems([downloads, favorites], animated: false)

enter image description here

...