Replace both SplitView screens with one ViewController screen - objective-c

I can't seem to find this navigation use case for iPad SplitViewController. Using Storyboard, I have created a SplitViewController that shows Master/Detail and it works great. From my detail view, I want to have a button that completely replaces the entire SplitViewController (both master and detail screens) with a single ViewController.
Ideally, this would be a navigation that would allow back button function to return to the SplitViewController but I'm open to other solutions as long as the ViewController is using the full screen (I need every piece of screen real estate possible - and it will have popovers if that is of any consequence to the solution).
I assume this is possible and sure I'm not the first that needs to do this but I've searched quite a bit and found similar use cases, but not exact.
Here's my current layout in Storyboard:
TabBarView
SplitView A
Navigation
Master
Navigation > TableView
Detail
SplitView B
Navigation
Master
Navigation > TableView
Detail
Full Screen ViewController (where does this go in the above structure?)
So I need SplitView B to Navigate to the Full Screen ViewController that is not yet integrated into this screen navigation tree because I don't know where or how it would be placed in this structure.
Any suggestions on how to setup my Storyboard and/or use custom code to implement? I have tried man different ways to wire this but keep coming up short of what I need.

Related

Change the animation from pushViewController to vertical

I have 2 collectionViewController, each filled with cells with images where I can scroll through horizontally. Both are nested on a navigationViewController.
Now, if I push a button, one controller shall switch to another with push:
[myNavController pushViewController:collectionViewController1 animated:YES];
How can I change the animation so the collectionViewController doesn't appear from the side, so that it comes in from the top/bottom?
Thanks for the help!
Edit:
I solved the problem another way:
I nested the 2 CollectionViewController inside a ScrollView.The Scrollview has the height of two screens. Now I can swipe from one to another CollectionView with no huzzle :). Good luck!
If you want it to push onto the navigation stack, then you need to implement your own custom animations for this. However if you want it to just display on top of the current viewController you can use the modal presentation for this.
Edit:
Here is a tutorial that should get you started.
http://www.appcoda.com/custom-view-controller-transitions-tutorial/

Shrink detail view controller animated when menu slides at UISplitViewController

I'm working with UISplitViewController on iPad and want to override it's behavior. When user taps on bar button, there are slides menu from the left side of screen. But it overlaps detail view controller. Can I make it so the detail view controller shrinks animated when the menu appears and expands when the menu disappears?
I don't think it's natively possible, so I think of 2 ways of doing this
1 - try and error: study the split delegate calls to see when you should shrink the content in your detail and tune it up until it looks smooth
2 - create your own "split" controller and do all the resizing/presenting by yourself

Bug with Tab Bar being covered by UITableView

So I have 3 main scenes, each with a tab bar item. The first scene (Account scene) contains a UITableView. Also on this scene I have a button which switches to a different scene that is NOT included on the tab bar.
ie. Account scene (which IS on tab bar) has button to link to Account Info page (which IS NOT on tab bar). This all works fine, but when I go back to the Account scene from the Account Info scene, the UITableView now is covering the Tab Bar (or the Tab Bar may have just disappeared altogether), so I can no longer access it and switch to different scenes.
Anyone else encountered something similar or know why this may be happening? If sample code is needed I can post some, but I did this mostly using storyboard.
Cheers,
Robin
Fixed. Was segue-ing to the view controller itself, instead of segue-ing to the TabBarController that handled the view. Limitation is that I can only segue back to the first tab bar view, which is kind of annoying but oh well.

Question on Popover

In my app I have a navigation back button which occupies the top left of the navigation bar as such. Now I have a requirement to make the view in the navigation stack a split view. I'm doing my own custom split view controller. Now the question arises in the portrait mode of this split view. I want it to have the default popover behavior in portrait mode (like Apple's splitview in portrait). Can I manually set the location for the popover button on the navigation bar to some place other than top left without violating any UI guidelines? Since the back button is on top left corner by default already. I read over the UI guidelines but could not find anything concrete relating to this issue. Can the popover button be placed anywhere on the navigation bar for the portrait mode of my custom split view?
Thanks!
Yes, it can be done. As you said, there is no strict rule over placement of the pop-over in portrait mode.
This app uses custom split view and the placement of the button to display the navigator (inside a popover) in portrait mode varies on what view controller it is currently displaying. Whether it is the root of the navigation or if it is the view controller pushed over the navigation controller.

Tab Bar application with a Navigation Controller but different tab bar on detail page

I've seen lots of tutorials on how to build a simple app with 2 tabs and a navigation controller - especially when there is a table view where you click a row to see details (and have built this myself). But most apps I've seen have the detail view such that either the tab bar disappears or there is another type of nav bar at the bottom. Does anybody know how to extend the basic navigation controller and tab bar to get it to work to get it to work like this?
Here is the answer to my question
How to hide parent tabbar when pushing controller in navigationController