Showing Image to all view controllers in iOS - ios

I'm quite new to iOS. I'm trying to show advertisements in every view controller's bottom side. But i don't want to load advertisements for each and every view controllers. Is there any other way to show the ImageView of that advertisement throughout all view Controller without loading the ads again and again?
Also those advertisement images should be changing regardless of the view controllers.i.e., whenever the user navigates to next page, the Next page's advertisement should continue from last page's advertisement. It shouldn't be load from the initial image.
For that, Is there any easier way to do this?
Thanks in advance..

If you use uitabbarcontroller or uinavigationcontroller for basic navigation of your app you could add the images to the uitabar or uinavigation bar. They wont relosd for switching tab or pushing new viewcontroller on your navigationcontroller.

Related

Youtube-like video control bar in the bottom

In the youtube app there's a possibility to collapse video into a small preview window with a playback and controls while you navigating in the different parts of the app. By tapping on the window you can always switch to full screen mode again.
I wonder: what't the best approach to implement similar functionality? For now I see few options but I'm not very well aware of the implications of these options.
Note: I have an iPhone tabbar based app.
Create a popover modal view controller, that is presented on top of current navigation stack in a current tab
Create a view and stick it to the bottom of the screen.
Create a view in bounds of a tabbar controller
Create a modal view controller embedded in tabbar controller.
Just from the list I suspect that using a specialized UIView (2) would be the worst possible way to do this. But I don't know about the rest. Any advice would be greatly appreciated.

Walkthrough with tab view controller

I have been attempting to create a walkthrough for my app although I also have a tab view controller which is the initial view controller. I have been able to identify when a user is opening the app for the first time, but when I make the walkthrough view controller initial, I get a Sigbart error. This is because I set up my tabbar in the app delegate.
Is there a way to possibly keep the tab bar VC the initial and hide the first VC if it is the users first time opening the app?
Is there another way of doing it?
I dont know the code to check of its the flrst time a user opens an app, but why dont you make that check on your tab bar controller? And then lf lt ls the first time, you just change the root vc to the tutorial vc. When they are done with the tutorial you just change back the root vc to the tab bar.
There easiest way to accomplish the tutorial-like behavior for new users is:
1) Make a new View Controller be the initial one.
2) Add code to check if its the first time the user launched the app. If it is, show the tutorial, if its not, show your tab view controller.
3) You can fill this "fake initial" view controller with the same image shown in the splash screen. This way the user will feel its just the splash one.
*) An added benefit of this approach is that you can check other useful things. For example, if your app has some kind of login feature you can manage it here skipping the login window for users who have already logged in. It can also be used to update your app's resources in case you are retrieving them from a server.

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?

Displaying a slide tutorial when app launches first time

I have a UIScrollView that will display three images when the app launches for the first time.
Here's my issue: I'm seeing if it's the first launch from my AppDelegate, taking the user to a UIScrollView (not embedded in the NavigationController) and then to the initial view controller that would normally appear if it's not a first time launch.
What I would like is for the user to swipe through these three slides and then be taken to the root view controller. What's the best way to do this?
Problems i'm facing:
When I detect that it's a first time launch, I'm setting the UIScrollView as the root and going there, and then, after they've swiped through the brief tutorial, i'm segueing into my initial view controller. Problem is that my UIScrollView isn't embedded in the navigation controller which cause a problem and doesn't display the navigation bar on the main view controller. I don't see a reason to embed it into the navigation controller because it will be displayed just once.
Any help would be so immensely appreciated!
The storyboard not connected to the navigation stack is the tutorial UIScrollView that gets set as the root if it's a first time launch.
Make the navigation controller your app's root view controller.
Make the tutorial a presented view controller. Present it once when it's needed initially; when the user is done, dismiss it; and never present it again.

Resources