2017-06-10 6 views
0

J'ai SearchBar et TabBar sur une vue que j'ai créée en utilisant le framework CosmicMind Swift Material pour swift (https://github.com/CosmicMind/Material). Voici le code que j'ai pour la mise en place de la vue:Matière swift: UIView avec Searchbar et TabBar se déplacent hors de vue swift 3

window = UIWindow(frame: Screen.bounds) 
    let tabBarControllers = [MySearchBar(rootViewController:ViewController2()), MySearchBar2(rootViewController:ViewController1())] 
    window!.rootViewController = TabBarController(viewControllers: tabBarControllers) 
    window!.makeKeyAndVisible() 

Donc, fondamentalement, j'ai barre d'onglets, qui a la barre de recherche qui à son tour a une vue. J'ai créé un xib pour la vue afin que je puisse faire glisser et déposer et positionner les choses avec le constructeur de l'interface. Le problème que je rencontre est que la barre d'onglets couvre certaines de mes étiquettes. Voir la capture d'écran ci-dessous screenshot of my UIView

Lorsque je lance mon application, j'obtiens la vue ci-dessous. Comme vous pouvez le voir l'étiquette 2 est hors de vue, je l'ai essayé tout son possible, mais ne peux pas le comprendre et de faire l'ajustement de vue entre la barre de recherche et la barre d'onglets correctement

image after running my app

Toute aide sera très apprécié

ma capture d'écran de mon point de vue dans Xcode XIB: xib screenshot

+0

avez-vous ajouté des contraintes 'auto-layout' à votre label2? – Bilal

+0

@Bilal, j'ai essayé de réinitialiser la contrainte suggérée et redimensionnement automatique, mais les deux ne fonctionnent pas – tigg

Répondre

1

La façon dont vous abordez cela peut se révéler plus compliquée que nécessaire. Ce que vous devez faire, si vous avez un SearchBar sur les deux pages du TabBar, est de mettre le TabBar comme enfant (rootViewController) de la SearchBar, donc il n'y aura qu'une seule instance de chaque. Puis ajoutez des contraintes pour la mise en page automatique dans votre contrôleur de vue qui a les étiquettes. Cela devrait fonctionner pour vous :)

+0

Je l'ai changé à la fenêtre! .rootViewController = MySearchBarController (rootViewController: MyTabBarController (viewControllers: tabBarControllers)) 'mais lorsque la vue se charge, les barres de recherche s'affiche correctement mais la barre d'onglets n'apparaît pas/show – tigg

+1

Si vous pouvez partager un exemple de projet avec cette configuration, je peux jeter un coup d'œil. – CosmicMind