iPhone popover controller present view controller fullscreen - ios

I am using a third party popover controller on the iphone and have ran across an issue. The one I'm using is WYPopoverController but have tried using FPPopover and it has the same "issue" since they work in a similar way. Here is the deal:
I have a notifications button in my app which pops up a popover controller which contains the notifications feed. It's like the Facebook app. You can see it on the below image.
Now what I want to do it so present a view controller on top of everything and in full screen. The way that popover controller works is that it ads its view directly to the applications main window and its not nested in the view hierarchy so I get a warning saying presenting view controllers on detached view controllers is discouraged and it does not present full screen as well (I know thats logical). If I present it on the parent view controller (the red one in the background) it gets presented below the popover view.
How to fix this?
I was thinking about using a new UIWindow instance and using a root view controller there. Is this an OK solution or is it a hack? If it's ok then how do I accomplish this? I want the presentation and dismissal to be animated :)
I want it to look like Facebok Paper app when you tap an item in the notifications feed.

Related

With a custom navigation controller push transition, how do I have the previous view controller behind like modal presentations?

When performing a custom modal view controller transition, the view controller you're coming from sits behind the new one nicely (think of Apple's "form sheet" style presentation on an iPad for instance), and when you rotate the device the previous view controller visible in the back rotates as well.
I'm unsure how to get this functionality with a UINavigationController custom push animation. It seems it isn't expected for the previous view controller to be visible from behind and it isn't.
I could take a screenshot, but it won't update on landscape rotation.
How is it done so easily with a modal transition and how do I replicate that for navigation controller custom transitions?
As far as I understand the UINavigationController class such functionality cannot be achieved through it.
UINavigationController is a container controller, which can show only one VC within it at a time. It keeps all the VCs in the stack, but not their views (views are kept by VCs themselves).
Unlike it, the modal presentation is a special type of VC-presentation, and it's not limited by the container-functionality.

How to always show a viewcontroller even when navigating screens in iOS?

I have this music player view controller that can be minimized. Thanks to LNPopupController[https://github.com/LeoNatan/LNPopupController].
Everything is working fine, but I have no idea how to make this music player view controller stays on top even when the user navigates to the other screens (even when the main navigation controller pushes another view controller). The app doesn't use tab bar controller by the way.
So, is there a way to implement this kind of idea? Again, sticking the minimized view controller on top of every screens of the app?
Developer of the framework here.
If you present the popup bar from a navigation controller, it will appear for all pushed controllers. Likewise for a tab bar controller.
If you need to have it for all controllers, it's not easily possible. One way is the have your entire application scene appear as a child controller of a view controller, and have that controller present the popup bar. This is a difficult way to make it work, and not recommended. It has many issues.
The popup controller is not meant to appear on the screen all the time. It is meant to implement a similar functionality as Apple's.
add the minimized view controller on keyWindown which your minimized view controller always on top ,I didnot Know whether can help you,the code demo gif as is show,If anyone need Demo,give me Email:59620one463qq.com(replace one to 1) to get demo

iOS Swift App SceneKit with UINavigationController

I'm currently developing an app on iOS using mostly UIKit, it's an informations and health app, not a game. It's for a company that produces chairs, so we planned to add 3D models of each chair in a small view.
I managed to import the 3D-models as chair.dae and display them using a SCNView. The complete app is build with Storyboard and Segues, combined with a UINavigationController, so the user could get back and forth on the NavigationBar.
Now the problem is, the Navigationbar on every other ViewController is working as intended.
Only on the ViewController that has the SCNView added, there is no NavigationBar at all. I used a normal ViewController, added a SCNView and connected it to my navigation with a Show Detail Segue.
Another issue is, while most Views get pulled from the right side of the screen when i switch, this one is pulled from the bottom and replaces everything
Is there a way to force it to show a navigation bar?
I tried with following, but didn't change anything
navigationController?.navigationBar.hidden = false
That sounds like correct behavior for a Show Detail. Per Apple's View Controller Programming Guide for iOS:
This segue displays the new content using the showDetailViewController:sender: method of the target view controller. This segue is relevant only for view controllers embedded inside a UISplitViewController object. With this segue, a split view controller replaces its second child view controller (the detail controller) with the new content. Most other view controllers present the new content modally.
(emphasis added).
Why not a Show instead?

Why does a modal view controller disappear after switching apps?

I am displaying a modal view controller in my app. When I switch to a different app and then back to mine, the modal view controller is no longer displayed, what I see instead is the view behind it.
I know that the modal view controller is still in the view hierarchy and is simply not drawn, because I can call dismissModalViewController on the parent view controller and the app will behave correctly (if I don't call dismissModalViewController, displaying another modal view controller puts the app into a weird state).
Has anyone else encountered this? What can be done to fix it?
There is a thing you should try: try using some "well known" View Controller instead of the one you display and see if you get the same result with disappearance. Like UIImagePickerViewController

Can I move from a login View to a SplitView in an iPad application?

Hope there is not an answer yet (I've checked). Can I introduce a login View in my application that enables a SplitView by using a button or something?
I've checked MGSplitViewController, but I'd like to use something more light and minimal.
If it's not possible, can I introduce a login View in my DetaiView that enables a TableView?
You can transition between arbitrary view controllers in iOS. The usual ways are using modal presentation (I like to present splash screens with a cross-dissolve animation to the root view controller of the app), or pushing/popping with navigation controllers. You can also programatically swap between multiple views in a view controller via setting the "view" property.

Resources