UINavigationController i TabBarController programowo (bez scenorysów)
Obecnie mój plik AppDelegate zawiera ten kod, aby ustawić CustomTabBarController jako rootViewController:
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = CustomTabBarController()
Chcę, aby moja aplikacja zawsze miała na dole CustomTabBarController, ale chcę mieć kontroler nawigacji na każdej karcie. Oto kod, którego użyłem do skonfigurowania mojego tabBarController:
class CustomTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let vc1 = FirstViewController()
let vc2 = SecondViewController()
let vc3 = ThirdViewController()
viewControllers = [vc1, vc2, vc3]
}
Oto kod, którego użyłem do skonfigurowania mojego FirstViewController:
class ProfileViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 2
}func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: VCCellId, for: indexPath) as! firstVCCell return cell
}
}
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Patrz sekcja:
dodanie kontrolera nawigacji do interfejsu paska kart
https://developer.apple.com/li ... .html
Aktualizacja
Na podstawie kodu dodanego do zaktualizowanego pytania utwórz dla każdego z , i .
W każdym ze swoich s ustaw na tytuł, który ma być wyświetlany na pasku nawigacyjnym po wybraniu tej karty:
Anonimowy użytkownik
Potwierdzenie od:
Osobiście podoba mi się to podejście, ponieważ oszczędza mi kłopotów z powtarzaniem kodu w kontrolerach ViewControllers i zachowuje kartę kodu kreskowego nawigacji & amp; zorganizowane w niestandardowych klasach z paskiem kart.
Jeśli nie chcesz używać tej samej karty dostosowywania lub paska nawigacyjnego w całej aplikacji, możesz po prostu dostosować każdą z nich indywidualnie, jak chcesz, w odpowiedniej klasie ViewControllers. Jeśli jednak każda zakładka będzie miała inne atrybuty tab i/lub nawigacji, odpowiedź Vacawamy będzie najprawdopodobniej najlepszym podejściem!
Anonimowy użytkownik
Potwierdzenie od:
viewControllers = [vc1, vc2, vc3].map{UINavigationController(rootViewController: $0)}