Show (Push) Segue Leaving Imprint of Previous View - ios

I have two views. Upon clicking a button, the other view should be segued onto the screen with a show (previously called push) segue. This works flawlessly, however, for some strange reason when transitioning a short imprint of the previous view is left behind. This seems to be happening only for these 2 views, I can not reproduce it with others, and the bug occurs both on the simulator and an actual device. Here is a GIF of what is happening: https://gyazo.com/662a813de15ba90d6581976f55866289
(Stackoverflow doesn't support direct Gif's in post as far as I'm aware, so sorry for the external link)
Sorry for the low quality.
I simply control-dragged from the "Signup" button to the other screen to create the segue. This seems to be the only transition that is doing this throughout my entire app. This is what it looks like in storyboard. I'm doing nothing programmatically before/after the segue sends.
I've tried programmatically creating the segue as well, however the same effect is occurring. I could not find any similar stackoverflow posts.
Any clues on why this is happening and any possible fixes would be great. If you need more information please let me know.
Edit:
I am not doing anything to resource extensive on the view initialization (I'm simply making the nav bar translucent and modifying a few outlets). I feel it is important to note that the background (The blue) and the sonus logo are both Image Views. I've attempted programmatically setting the background image, however this made no effect on the outcome of the problem.

Go through the below Solution:
Click on "Second View Controller"
Select the top UIView
Now change it's background color to Default
This will solve your problem!

Related

How to solve Google Maps sdk orientation issues using TabViewController

I started an iOS project for iPhone where I thought might want a tab bar. I later decided that I don't want it (I want the extra screen space) and I so I tried to delete the tab bar and set my main ViewController as the initial viewController in storyboard.
This caused a weird error where the device's orientation no longer adjusts properly. For instance, switching from portrait orientation, shown in the picture:
becomes this in landscape:
If you start the app in landscape, it will look fine, but there will be a similar result when you switch to portrait. The bug manifests in the transition between screen orientations.
I've tried the following:
I restored the tab bar and the problem went away. This problem is caused by how I am removing the tab bar and not some other issue.
I searched for other articles dealing with this issue. So far, I've only seen documentation on how to install a tab bar, not how to safely remove it.
I attempted to connect the tab bar to the viewController with an IBOutlet and then set tabBar.isHidden = true. It's a bad hack, but it didn't work anyway. UITabBar has no such member.
I've tried comparing the settings between the tabBar viewController with my desired initial viewController in the Inspector, to see what may be different. Aside from the initial viewController check-box, I don't see a setting that might be causing this.
QUESTION: Is this a settings issue in storyboard (or elsewhere), or is this just a bug? My next attempt at a solution will be to delete the entire storyboard, and then recreate it and connect it back to the viewController. That's a fair amount of work I'd like to avoid if it's unnecessary.
Any help is appreciated. If I find a solution, I'll make sure to post it. Thanks!
UPDATE: I've found a workaround by going to the UI Tab Bar Controller in the Storyboard, selecting tab bar in Tab Bar Controller Scene -> Tab Bar Controller, and then checking the 'hidden' box in the inspector. This has the desired effect of getting rid of the tab bar when the app is running. It's like it's not there.
While this allows me to proceed with the app, the tab bar stuff is unnecessary code lying around in my app that I would like to get rid of.
Since I originally made this post, I've found out through experimentation that the every time I added Google's GMSMapView to a viewController, programmatically or in storyboard, I was having the above orientation issues. My original problem wasn't what I thought it was
I have since tried completely rebuilding the storyboard, viewController and all, but the problem didn't go away. I also tried overloading the orientation methods for the view to no effect.
However, if you are having this orientation problem with Google Maps sdk, imbedding the view controller that contains your GMSMapView in a tab view controller, and then hiding the tab bar (unless you want a tab bar) fixes the orientation issue in my project. It's not pretty, but it works.

Transition from tableView to another View shines through

In my app I have posts in a tableview and when I click on a post, a segue brings in another view controller with a detailed view of the post. When my background color is any other color than black, everything works fine. But when I use a black background, you can always see the tableview shine through during the process of transitioning. After like a second the transparent part goes away and everything is good, but that makes the transition look very bad. I have a picture of what I mean, this is the detailed view. All pics and text are random and just for testing the app (so no my posts don't get 2.302 comments :D)
Detailed ViewController Screenshot
Set the opacity in the segue function as desired.
No worries. Maybe next time print the value out in viewDidLoad, and then again in the segue. Then you can see how its messing with you :-)

Slide out menu - When switching back to original controller, Nav bar disappears

I have a slide out menu in my app, and just to let you know, I'm new to iOS/Swift, so if I don't explain it well, or use the correct terms, that's why.
I use the SWRevealViewController library for my sliding out menu.
The only code i use from that for all my View Controllers is
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
The issue basically is, when the app first opens, it shows my navigation item's title and all that on ViewController1(default view), but when using the slide out menu to go to ViewController2 or 3, and then going back to the ViewController1, the whole navigation bar/item disappears.
I tried to use something like nav_item.title = "whatever" within viewDidLoad(), but that doesn't work, as far as when i switch back to the first view. The funny thing is, if i programmatically change the title doing that, it changes when it first loads but when i change to View2 and change back to View1, just disappears.
Here are a few images of what i mean, if i didn't explain it well enough, because like i said i'm still new. The development of my app is coming along pretty well because i'm going off my android version i've had done for a while.
Here is when it first loads, title and all. Notice, my background color doesn't overlap or change the top part for the time and battery, which becomes a problem with the later view.
Switched to a different view using my slide out menu.
Switching back to to the original view, the nav item disappears and the background color extends to the full view, overlapping the battery status and time
How does your Storyboard look like? This is how I usually do it.

Weird segue transition after disabling autolayout

I don't know how to explain this, it's really strange.
Ok think about two view controllers, the first one is a tableview controller and has a button in his navigation bar connected via push segue to the second view controller.
When pushing the button, the second view controller comes in from the right and at the same time pushes the first view controller out, to the left.
I wasn't using auto layout for my project but I've activated it to test something (I've just activated two constraints for two labels in the prototype cell). Then I've disabled the auto layout and now when I push the button on the first controller the second one comes in, but instead of pushing out the first controller, it slides on the back of the first one, that disappears only when the animation ends.
It's like if all the cells in my first controller become transparent during the transition.
I can't see anything strange in my settings so I don't know how to solve this.
Well, as Ryan said, it was one of those annoying problems where you dig around for 30 (for me it's been 90) minutes with no success and then find out how to fix it with a single click.
It turns out that the second view controller had a transparent background (don't know why), so reverting it to white solved the problem.
Thanks God I din't delete the storyboard to make it ex-novo.

UIPageViewController and off screen orientation changes

My app is a tab bar application running on iPad.
One of the tabs contains a UIPageViewController, which I implemented pretty much as per the tutorial here: Implementing UIPageViewController programmatically – without storyboarding.
Everything works great, including rotation. However there is a problem - if I go to the tab containing the page view controller, then navigate to a different tab and change the orientation. Then navigation back to the tab containing the page view controller, it is now displayed incorrectly.
Rotating the device again, with the page view controller visible, fixes things.
I guess this is because
pageViewController:spineLocationForInterfaceOrientation:
is not called while that tab is not visible. Any ideas on how to remedy this?
I had the same problem and ended up doing the same workaround. When I was done I didn't really hate it though, because it allowed me to free-up the UIPageViewController and all of it's child UIPageViewControllers and all of their resources when the user wasn't actively using the tab.
I worked around this by re-initialising the UIPageViewController inside viewWillAppear:animated. Not ideal, but it works...

Resources