How do remove tab bar when navigate away from tabbar view controller? - ios

I have a tabbar view controller with one tab being a table view. From the table view cell, I want to navigate to another view. However, the whole tabbar shows up on the second view. How Can I remove the tabbar from the second view? Thanks!

Try to set targetController.hidesBottomBarWhenPushed = true

Related

Navigation bar missing in storyboard with show segue in Xcode 8

Why can't I see the navigation item under my second View Controller? My setup is as follows: I have a view controller embedded in a navigation controller. This view controller is linked to a second view controller with a "Show" segue. I can select & edit the navigation bar for the first view controller, but cannot see it in the element list for the second view controller. I also cannot edit it in the second view controller (i.e. add a button). How can I fix this?
First, drag a navigation item under your second view controller:
Then, you have it to edit:
How can you link the firstViewController and secondViewController? I try to link and I only can link the firstViewController and secondViewController in there.
But, this link is error, I set the different color for two viewController, the secondViewController cannot display.
So, you lost Navigation Bar? Select the View Controller you want to add and click on Status Bar / Top Bar dropdown list in Attributes
Inspector.
This is a known bug on Xcode, you can manually drag a Navigation Bar to your Second ViewController.

Pop view segue in Xcode

I have 2 UIViewControllers with their own navigation bars, but they're not embedded in a Navigation Controller. I want the bar button item of the first view to push the second view, and a bar button on the second view to pop the view, showing the first view underneath.
I've added a show segue from the first view to the second one in my storyboard but I can't find a pop segue when I try add a segue between the second view's bar button back to the first view. Here's what my storyboard looks like:
How would I make the back button on the second view pop itself to show the first view?

How to load another View Controller on Tabbed application Without losing the tab

I have a Tab Bar application coded in Objective-c. One of the tabviews I have is a TableView. What I'm trying to do is, when a cell of this TableView is selected, the app takes the user to another view, but this view isn't on the tab menu, and I don't want to lose the tab menu when this view appears.
Is it possible to do it? How? Couldn't find much on the web.
Just embed navigation controller to that tab's viewcontroller which have tableview.
so your viewhierarchy should be like tabbar controller - navigation controller - viewcontroller (tab) - detailviewcontroller
you can embed navigation controller by selecting viewcontroller, then from menu select editor then embed in then navigation controller.
Hope this will help :)
If you are having the single View Controller to show then you can try doing this by adding the new view controller's view as
subView to the current view controller's view
Eg:
newVC.view.frame = self.view.frame;
newVC.view.frame.size.height = self.view.frame.size.height - HEIGHT_OF_TAB_BAR;
[self.view addSubview:newVC.view];
If there are more View Controller's that are adding further then
using the navigation controller under tab bar controller will also
work.
Refer: How to implement tab bar controller with navigation controller in right way

Swift/XCode 6.4: add back button to navigation controller in navigation bar

In my app I have this storyboard:
and I would like to add a back button from the second table view back to the first. So I inserted a Navigation controller in order to have a navigation bar in the second table view ad I have created a segue with its identifier from the second table view to the first. But then how can I add a back button? I have tried to drag a button from the library into the navigation controller but it won't let me do it...I had already done this but in this moment I can't remember how.
Please can you help me?
In above image you shared you are making your tableview controller as root view controller.You have to kept your navigation controller on root. As you can see in attached image and you don't have to make back button manually as navigation controller has its own default back button.
This example is right how to make storyboard.Try it
self.navigationController?.navigationBar.hidden = false
In setting of UINavigationController set up like on screenshot
If you're using a navigation controller and its default navigation bar, you don't add an explicit back button--the navigation bar does it for you. You can add a UINavigationItem to your view controller, on which you set a title, back button title, etc.

How to create a UIView with NavigationBar and TabBar

I would like to introduce in my app a View that will contains both navigation bar and a tab bar at the bottom. View contains a Table View with multiple entries and once user tap on a cell a push segue takes him to another view with details regarding the cell he has previously tapped. If he decides, user can go back to parent view by tapping on 'Back' button of the navigation bar on top. In addition to this, I would like my view to have a tab bar at the bottom with extra tools for the user. So, if he decides to check the 'Creator' of the app, he can by simply tap on 'Creator' TabBarItem at the bottom.
I would like to ask you what is the best way to achieve the above. I have already tried to use UITabBarController combined with UINavigationController. Didn't achieve what I was looking for because I would like the view with the table on it to be independent from the TabBarController and NOT a part of it (by part I mean by accessible through tabs).
Do you believe a UINavigationController view with UITabBarView would be a better choice?
UPDATE
What I mean by, "independent from the TabBarController and NOT a part of it":
Once the app loaded, I would like to see my main view (with table) contains Navigation Bar on top and Tab Bar at the bottom. However, I don't want to see the first tab of the Tab Bar selected because my main view will not be accessible through tabs of the Tab Bar but through Navigation Bar. If, for example, I am in Main view and tap on 1st tap, I would like to move to another view that will contains some other info.
Option 1:-
Create a tab bar Controller and on that TabbarController assign your navigation Views.
say nav1 with tab1 , nav2 with tab2...
Option 2:-
Create a Navigation View Controller and than add the tabbarcontroller on that navigationView Controller by using addSubView.
So when the user clicks on a row in a table u will go to a different View which doesn't have the TabbarController and when the user comes back he will again see the TabbarController.
This is what I will do:
First I will subclass UITabbarController and create for example ParentTabBarController. This controller will contain all the tabs necessary and what they will do if they are clicked so on.
Next for each viewcontroller I create, I will subclass from this ParentTabBarController so that the tabs are already in. You can add additional functionality or override it depending on your situation.
In your appdelegate pass in a navigation controller and every time push and dismiss the viewcontrollers you created in second step.
Hope this helps..

Resources