This is driving me crazy! I am creating a segue from one of the UITableViewCells to another UITableViewController. A Navigation controller sits between them as shown in the screenshot below:
When I reach the Samples UITableViewController it appears without the NavigationBar as shown below:
Am I doing something wrong?
Your first UITableViewController is in a navigation controller too right ?
If not, it's normal, see this post.
If your first UITableViewController is in a navigation controller, I had the same problem, if you use the push segue (deprecated) it should resolve your problem.
Related
I'm presenting a UITableView modally to provide access to some application settings. When the modal view (root view controller) appears, it has a navigation bar like I expect. However, when one of the options is selected and the next 'UITableView` is popped to the top of the stack, there's no navigation bar.
Here's what one of the child UITableViews looks like:
As far as I know, the two children views should have navigation bars without me having to do anything because they're embedded in a UINavigationController.
I tried dragging a navigation bar to the views but IB will only let me put them inside the UITableView and if I do that, they do appear, but they also go too high in the view and run into the status bar and I can set any layout constraints on them to fix this.
I've scoured the Apple documentation with no luck and found many thread on SO that very, very old and in objective-C.
Can I make these views work together like I'd expect them to or am I going to have to build the child views from scratch?
UPDATE: I'm still trying to get this to work. I've now tried to create a new view controller from scratch. Here's what the view hierarchy looks like:
And you can see in the Storyboard something's not right:
And when I run this in the simulator, I get a new error:
"[UITableViewController loadView] instantiated view controller with identifier "UIViewController-cDg-wV-aMN" from storyboard "Main", but didn't get a UITableView.' But I created the segue by Ctrl-dragging from the cell in the root VC directly to the Table View.
To sum this all up, here's the flow I'm trying to achieve: UIViewController (initial VC) -> UINavigationController (presented modally from the bottom) -> UITableViewController (presented from right to left and with standard navigation bar).
My segues are all set to Show (e.g. Push)
Any help or suggestions would really be appreciated.
Well, I figured out how to fix the problem I was having after coming across another thread that wasn't about the same problem, but it had some advice that tipped me off.
The problem was caused by me creating the segues from the UITableViewCell on my Settings view controller to each of the child UITableViewControllers.
To fix the problem, I simply created the segues between the Settings UITableViewController and each of the child UITableViewControllers.
Hope this helps somebody else someday.
I have added a show segue from table cell in one view controller to another table view embedded in a navigation controller. When I click on the cell in the first view the segue works as expected and brings up the new view. However, the "Back" button (with the title of the original view) does not appear in the navigation bar.
I searched SO and found a number of such questions asked in the past (both for Swift and Objective-C). Most of them suggest that the first view needs a title for this to work. I do have a title. I even added one programmatically, just in case. That did not help. One of the answers suggested to add an identifier to the segue; that didn't help me either.
How else can I debug this issue?
It seems like the problem is that you are pushing into a totally new navigationController, remove it, and make segue dirrectly into the new view Detail itself, they have to be in the same navigationController to work
Verify you are not hiding backbutton in destination controller...
I had a left bar button item in storyboard removing the button, back button showed up.
after trying many things and searching for all the related questions and not being able to fix the issue.
this is the current situation in the storyboard:
the top bar of the home tableviewcontroller does not show up even though in the login and signup view controllers it does.
the segues from those view controllers are triggered programatically in the actions triggered by button clicks.
even when setting the top bar to be opaque/translucent and not inferred it still wouldn't show up.
---- update -----
tried adding navigation controller:
added navigation controller
it doesn't even perform the segue now...
because the initialisation in the prepare for segue is preparing a different
destination view controller.
tried to make a custom navigation controller class but that made problems as well.
please help!
I have a UINavigationController, its root controller (UITableViewController) and an instance of UIViewController that is pushed to the top of Navigation when I click on a cell in Navigation Controller's root view (i.e. table view). The problem comes, when I swipe from a view controller to the root one. The selection doesn't disappear though I send deselectRowAtIndexPath:animated: message in its table view. If I click on the back button it works properly. How do I solve this issue? Thank you in advance!
There is a property of UITableViewController called clearsSelectionOnViewWillAppear.
If you set that to YES (I believe you can access this in IB int eh inspector too) then it will stop this happening.
I'm new to iOS, but I know the basis. I want to host 3 UITableViewController in a UITabBarController using the storyboard.
I dragged a UITableViewController from the object list(?) and control dragged creating a seguel. Now the tab shows successfully the table view controller.
The issue is the rows are taking the space of the status bar. So I want a navigation bar(?) there, with a title. Since I'm new to iOS I don't know the following:
Given the fact that UITabBarController is the first controller ever, the hosted UITableViewController should not have a back button, obviously. So is it correct to use a navigation bar to display a title (and possible add/edit buttons)
If so, I tried dragging the Navigation Bar but it doesn't work.
What am I missing or doing wrong?
hope this helps
actually it is done for another answer. but it will be handy to u too
You will want to add in 3 UINavigationControllers. Have each tab in the tab bar controller segue to a different navigation controller. Then set the root view controller for each navigation controller to one of the table view controllers.