I was developing a UISplitView app by using Xcode 4.6 when I left iOS6 I had design:
Now I migrate to new Xcode5 and now I have this design:
UINavigationBar overlaps completelly my UISearchBar...
Leo Natan told me about using a iOS 6/7 Deltas but since I'm creating and adding my UISplitViewControllers programmatically,
this may doesn't work I need to set the iOS 6/7 programmatically but I don't know how, any help I'll appreciate
In iOS 7 there are now extended edges, and that's why navigation bar overlaping the searchbar. You can set self.edgesForExtendedLayout = UIRectEdgeNone;
this is UIVewControlelr property.
You can also make checks depending on version of iOS and You can do things depending on current version of iOS in device.
NSString *version = [[UIDevice currentDevice] systemVersion];
int ver = [version intValue];
if (ver < 7){
//iOS 6 work
}
else{
//iOS 7 related work
}
Also, you can use NSFoundationVersionNumber
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
// > iOS7
} else {
// <= iOS6
}
You can create a makro for solve this problem.
it is useful for me.
#define iOS7Delta (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0 ) ? 20 : 0 )
If the view's embedded in a UINavigationController -
simply untick "Translucent" for your root navigation bar.
In storyboard, select Navigation Controller Scene,
next select Navigation Bar and in Attributes Inspector (Utilities - 4 tab)
untick "Translucent"