I have existing iPad app supporting iOS 5 and 6.
Can anybody help me to list down item that I need to take care while supporting iOS 7?
One thing I noticed that in existing code ((UITableView*)self.superview) in UITableViewCell doesn't work. superview of UITableViewCell is UITableViewWrapperView that need to be fixed in existing code.
The things are:
1. Navigation bar height and view style are different
2. Status bar is transparent in iOS 7 as in iOS 6 it was opaque.
3. Small thing is about the tint color. By default it is light blue in iOS 7.
4. Button borders have been removed.
Issue's i have faced while running the app in IOS 7.
Status bar issue (view controller get overlaps 20 pixel.)
FixForStatusBarIssue
Customize alert view won't work in IOS7. (We can't customize the alert view in IOS 7.)
My Fix -> You need to customize the view exactly like u want because you can't customize alert view in IOS7.
Issues related to threads.
My Fix -> Use dispatch_queue(GCD with delay) in case of UI not responding (Presenting a view controller from background thread.)
Zbar sdk memory leaks while presenting and dismissing the SDK (more than 5 times app getting slow.)
FixForZbarMemoryLeakIssue
this are the issues i have faced. fixes i have suggested working fine for me. You just use it if you need hope it will work.
Apple's iOS 7 UI Transition guide
Read descriptions of every single element you used in your app.
And be aware of the style and position of the bars (navigation bar/tab bar/tool bar...).
iOS 7 has changed a lot in view hierarchies, you can use Reveal to make things easier.
Related
In my application while designing the UI i am facing some UI Issue.
The Top contraints I am setting in story board are coming same in IOS 11 but in versions lower to that UI is moving up. Please see the attached image
As you can see image in IOS 10 is above from the one in IOS 11.2.
How I can have the same UI in all the versions.
Contraints I have added are below:
Any help would be highly appreciated.
Adding below line in my view controller solved my problem.
edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)
It appears that in iOS 10 and below my view was going under the navigation bar which made to look that view has shifted up. But it was working all fine in iOS 11. So to avoid view controller to go behind any bars added the above line which solved my problem.
I have seen a couple of issues similar to this but theirs seemed to be in the main view of their app. I have tried some of their suggestions like deselecting "Safe Area Relieve Margins" in the Size Inspector pane but none have worked. In the Detail side of my iPad app, the background color of my navigation bar stops at the status bar.
In this screenshot, I tried to use MMDrawerController to see if using something other than UISplitViewController would work but I have the same problem for both. So far the only difference between the two libraries is I haven't seen UISplitViewController work at all but with MMDrawerController, if you set openDrawerGestureModeMask to MMOpenDrawerGestureModePanningCenterView and the master view stretches a little bit then the background color renders correctly.
I saw on one of the other post that their issue was a bug for Xcode and there had been several people who already filed their bug Apple. Could this be a separate issue that Apple needs to know about as well if it is a iOS bug?
This is not an issue for iOS 9.X or 10.X, only 11.X.
I have recently updated my XCode to 5.0.1 as to be able to test my application on iOS 7.
Everything seems to be working as expected, but for some reason the status bar is overlapping the screen's content.
Now, I am still able to see the overlapped content as the status bar in iOS 7 is translucent, but it looks very weird.
I could always move my content down a bit to compensate for the height taken up by the status bar, but how would that look in iOS 6??
Is this intentional on Apple's part? Is there a standard procedure we as developers are supposed to follow to get this looking how it should?
Also, should I just add 20 pixels (or whatever the height of the status bar is) to the top of my view and just forget about iOS 6?
I have decided to just set my Top Space to: Superview to 20 (the height of the status bar) for all my parent views.
Looks good on iOS 7 but there is a 20pixel gap on iOS 6, and given the fact that 80% of our iPhone users have already updated their OSes to 7, I think it's safe to just assume that eventually everyone will be using iOS 7 and support for iOS 6 will no longer be needed.
I'm not gonna break my head anymore over this.
Thanks anyways!
Im having layout issues with projects that target iOS6.1 SDK that are built in xCode 5. My view controllers seem to extend under the top nav bar and the top nav bar is transparent. Setting 'extend edges' has no effect since I am compiling against iOS6.1.
Has anyone been able to find a way to use XCode 5 for pre iOS7 apps or do I basically have to use XCode 4?
I was having the same problem with my iOS6.x app when built with Xcode 5. It looks like in Xcode 5, being careless with your UINavigationBar translucency has serious, but easily fixable consequences.
In my case, making the fix in Interface Builder (IB) made sense as the quickest & easiest way to go. Take a look at this screen grab that shows the translucency check boxes that I unchecked to fix the problem in my app with a UITabBarController and four tabs (i.e. five things had to be un-checked in IB):
try to do that
first press on view
then
I've seen that iOS 7 brings some cool features in terms of design, and I was wondering whether I can make the keyboard transparent, as I've seen in some apps.
If so, how can I do it?
I've done a bit of research but haven't found much about it.
Assuming you're working with Xcode 5, the keyboard in iOS 7 IS transparent by default. You don't have to do anything. In IB/Storyboard, place a UITextField onto a ViewController, and turn that ViewController's view green (or some other color). When you click in the UITextField and the keyboard comes up, you'll notice that you can see the view's background color through the keyboard.
In order for the keyboard to be translucent by default, you will need to build your app on Xcode 5 with your Base SDK set to iOS 7.
If you are using an IB file originally created in an earlier Xcode, click on the File Inspector and change the View As property to Xcode 5.