UINavigationBar visual error during push with UIToolbar - ios

When using a UIToolbar, there is a visual error during the push animation on the UINavigationBar.
It appears that during the push animation, the view being pushed onto the screen does not appear under the navigation bar. Instead, the dark background of the app can be seen as the previous view slides to the left. Once the pushed view takes over the screen, it's background contents flash into view under the navigation bar.
I have determined that it is definitely the UIToolbar causing this issue, as marking it as hidden in the Storyboard resolves the visual error.
This is running iOS 8.4.
Does anyone know of any workarounds / has it been submitted as a bug to Apple yet?

Related

How to prevent visual glitchs on push animation when UINavigationBar height changes?

I have a visual glitch specific to iOS 11.
I have a navigation controller with a search bar and on item click I push another view Controller. Before iOS 11, the animation is clean because the navigation bar height does not change between the source view controller and the destination view controller.
With iOS 11, the Search Bar is taller, so navigation bar height changes during push animations and I have visual glitch.
I tried to force navigation bar height without success. Any idea how to handle this?

Xcode 8 storyboard view controllers all blue background

When I first created my storyboard all the elements on each UIViewController showed up just fine; however, after opening up my storyboard again the view controllers have turned all blue.
Is this some kind of issue with Xcode or is there a setting that turns my view controllers blue?
I have checked each subview's (UIViews, UIImageViews, etc.) tint color and background color.
I think you have to tap each of them to give them the tabbar icon, then it will become normal
Rashwan here says that having to add an image, while a good thing, is also a Xcode 8.0 bug that it turns your entire screen blue.
I added an image to the tab bar and it make my screen visible. However, the area where I added an image in the tab bar is now blue and it doesn't display properly when run on the simulator.
I think the solution is to upgrade Xcode past 8.0.

Navigation controller view offsetting on status bar hide on iOS 7

Weird iOS 7 issue I am having.
I have a UINavigationController added as a child view controller to my main view controller.
When I hide the status bar (by setting preferredStatusBarHidden and calling setNeedsStatusBarAppearanceUpdate), the navigation controllers top view controller recesses the 20 pixels that the status bar did, but not the UINavigationBar. This is only happening on iOS 7 - and I cannotfind a work around. If I rotate the device, it corrects the issue?
Before I hide the status bar
After I hide the status bar
I have tried calling layoutIfNeeded and updateViewConstraints. These did nothing. Was able to do conditional checks for version number and add constraints to fix, but this breaks things worse on rotate and I would prefer a cleaner solution if anyone has any ideas.
Thanks.

UIPopoverController iOS 8.3 - UIBarButtons and UISegmentedControl not shown after dismiss

In our app when we present a UIPopoverController, after we dismiss it, if we navigate to any other screens that have barButtonItems or segmentedControls, these are not showing but they are intercepting the touch, so tapping on them works.
Even when we navigate to a new UINavigationController, it still doesn't work.
The navigationBar is visible, but the buttons or the segmentedControls on the view controller's view are not.
The weird thing is that if I enable Color Blended Layers I can see the buttons / segmentedControl.
It happens on multiple screen in our app where we have bar buttons or segmentedControls.
It happens only on iOS 8.3 (we build the app with iOS 8.3 SDK). We tried both presenting the pop over programatically and using the Present as Popover Segue.
The same code works on iOS < 8.3.
Has anyone encountered this issue?
I have attached some screenshots.
I found the issue.
It seems that the tint color of the UIWindow(blue) was overriding the tint color of the UINavigationBar (white) so the UIBarButtonItems were actually blue.
I was setting them both in AppDelegate using UIAppeareance.
The solution was to avoid setting the tint color to the UIWindow and set it directly to the UIView subclasses that I was interested in (UITableView and UIButton)
I have no idea why this happened only after I dismissed the popover and only in iOS 8.3

UINavigationController toolbar 100% transparent

In a storyboard I create a ![UINavigationController] with its root view controller a UIViewcontroller. In the toolbar I have a segmented control. I made it transparent, but only has the normal tint, I expect to see the normal background or the table view blurred under it, but its 100% transparent for some reason.
This is a known bug in iOS7, when presenting a popover from a bar button item.
First open a bug report so Apple gives this issue more priority.
As a workaround, make sure to set the edges for extended layout to none for view controllers inside popovers. For reference, you can see in Apple's calendar app they also do this. There is no translucency under popover navigation bars and toolbars.

Resources