I've created two ViewControllers and both of their navigation bars are not displaying when I go to these pages. Please see the layouts below.
When I run the app, 'History' and 'Top Rated' won't show up. Instead, the navigation bar in the Tab Bar Controller will show up. (I'm using swift)
Related
Keep in mind with the following question, I am still an iOS noob.
So I understand how to hide/show/recolor the navigation bar and whatnot. My next challenge is that some screens need the nav bar and others do not.
When my app starts off, I have the nav bar as hidden and then the user can click register or log in (both of which screens have a nav bar).
So those screens have the code to show the nav bar all while the first (welcome screen) has the code to hide the nav bar.
Here is the question: Why is it that when I first start my app, the nav bar is not there, but when I go to register/login and then hit the back button to return to the welcome page (initial page) then the nav bar is still there, even though my code to hide it is in the viewDidLoad method?
How can I fix this?
You can try moving the logic of hidding the Nav bar to the ViewWillAppear method, you just need to override it in your View Controller class.
Alternatively I would suggest to use a separate view controller to handle your login/registration screens and only use nav bars where you need them. You would have to create a view controller in your story board with your regular screens and embed the screens that need the tab bar in a navigation controller, You can then segue from your regular view controller into the navigation controller that includes your tabs.
Hope this helps
I have a tab bar controller that controls 4 view controllers. When I run the simulator, the tab bar doesn't show up. I created the tab bar controller in a single page application by dragging it from the object library, then creating segues with ctrl-drag for views that had already been created.
I do not have a navigation controller.
The problem was that I did not have the Tab Bar Controller selected as Is Initial View Controller in the Attributes Selector. After checking this box, the tab bar showed up at the bottom of the simulator.
The incorrect navigation bar is appearing on my Table View Controller screen (see Storyboard Below).
I would like what's displayed on the storyboard to be my navigation bar (i.e. with "Main Feed" title and Sign Out button on the top right). However, this is what I'm actually getting -
There are two issues here: 1) The incorrect navigation bar is displaying (this one has a login back button); 2) the first few table view cells are placed underneath the nav bar vs. under it.
This happened after I embedded the Table View controller in the Tab Bar Controller. I want a bottom tab bar in the main portion of my application hence the reason why I added the Tab Bar Controller. Any suggestions on how to fix this? Rather than using the Tab Bar Controller in storyboard, is there a way to do this programatically? Thanks!
The navigation bar that you are seeing on top of the stack is the navigation bar from the UITabBarController itself, that is why you are seeing the back button show "login". There's a few ways to work around this, programmatically:
When you initialize the UITabBarController, set it's navigationController's navigation bar property to "hidden"
Go through each view controller form the beginning of your app up to where you first see this problem and in the "init" method of the viewController you are testing, set the navigationbar to hidden. Something like, self.navigationController?.navigationBar.hidden = true;
This is how you can "debug" this issue, but it's going to take some tweaking to get it right.
I have an app with the start screen consisting of a table menu main which links to 4 different views, then three options to information pages.
Once on any of the main menu options are chosen, the view is shown with TabBar at the bottom of the main menu options. While the nav bar at the top has a back button leading to the main menu.
I built the storyboard which goes from a table view select to a single page. After that was working and passing data, I embedded the single view into a Tab Bar Controller and added a second page. It seems to be working as I would expect however the Tab Bar is not visible on the screen.
Can please anyone help?
I have added an image of the storyboard below:
Get rid of the navigation controller. There is no deed for it so far. Make the tab bar controller your root view.
If you need a navigation conroller within a certrain tab, or some or all of them, then add navigation controllers to those tabs (to the right in your storyboard).
I am developing a tabbed bar application using storyboards.
I am attempting to put in a back button one a view - but when I press to go back (from one view to another) the tab bar vanishes.
How can I ensure the tab bar stays there?
Just make sure you're adding the UITabBar to the main Navigation Controller or View Controller of Navigation Hierarchy.
You need to select Tab Bar on the Navigation Controller Bottom Bar under the Attributes Inspector, then set the bottom bar to Inferred for the rest of your pages (or Tab Bar if you want it to be different on any pages)