UIPopoverController iOS 8.3 - UIBarButtons and UISegmentedControl not shown after dismiss - ios

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

Related

ViewController with different behavior on hidden Navigation Bar

I have a ViewController which has a hidden navigationBar (supported by a NavigationController). The problem is that the navigation bar is rendering a black image on the bottom of the nav bar.
What am i doing wrong?
This is a bug in iOS 11. If you try on a lower target you´ll see that it will work. The problem is that the navigation bar goes up like 10 pixels on iOS 11. Not much to do at the moment for 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.

UINavigationBar visual error during push with UIToolbar

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?

iOS8 transition - Different UINavigationBar/UITableView underlap/overlap behavior vs iOS7

under iOS7.1 my UITableView appears "correctly" (the way I want it) but under iOS8 the UITableView is underlapping the navigation bar. Why? (And how to fix?). I can force the behavior I am looking for in iOS8 by setting navigationBar.translucent = NO, but this is a hack and I lose the transparency.
iOS7: Navigation bar does NOT overlap
iOS8: Navigation bar overlaps

Move navigation bar in navigation view controller in ios7

I want add 20 points margin to my navigation bar. I need it because I want another background color under status bar as youtube did:
I found
iOS Developer library says: Status bar background appearance provided by the window background, if using UIBarPositionTop.
I found solution for toolbar, but I can't move my navigation bar inside navigation view controller. I just set UIBarPositionTop for my navigation bar, but it changes nothing.
-(UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
NSLog(#"position method called");
return UIBarPositionTop;
}
I still see the gray background of status bar instead of white.
Is it possible to do it with a navigation bar or should I use a view with a toolbar?
(XCode 6, development target 7.0+, sdk 8.0, autolayout)
UPDATE: ANOTHER WAY TO RESOLVE PROBLEM
I read this question
and understood, that there is no need to add margin. I added view with background color I need over my navigation bar controller and it resolved my problem.
When you are adding your UIView to the UIWindow, you should change the UIViews size to not underlap the title bar. How to do this is well documented in this post:
Offset on UIWindow addSubview
I hope i understood correctly, look in size inspector, ios 6/7 deltas.
Check this link for an explanation:
Interface Builder: What are the UIView's Layout iOS 6/7 Deltas for?

Resources