This question already has answers here:
How to still use iOS6 UI in iOS 7?
(2 answers)
Closed 9 years ago.
I have design that is correspond to iOS 6. I know that iOS 7 has many differences in UI, but can I keep iOS 6 UI (like back button, tab bars, alerts) and at the same time let users install app on theirs devices with iOS 7.
So I mean even if user run on iOS 7 the UIControl back button from navigation bar does not change its appearance and stay with iOS 6 design.
Yes, if you keep and build app in IOS SDK 6 and Xcode 4.6 and then install app in IOS 7, it will keep your old GUI but some part will convert to IOS 7 GUI such as UIAlertView and UIActionSheet
It is possible only with xCode 4.
If you want to do it in xCode 5 - you need to use custom graphics so UI will look similar on both iOS versions.
I use two versions of XCode, one with the old SDK and one with the new! If you create the app with iOS6 elements, that is the way it will look on all iPhones. Except for a couple of things like the UIAlertView and UIActionsSheet, just like kokx explained.
You can use legacyUI method. Just put the below code in your Appdelegate
[[NSUserDefaults standardUserDefaults] setObject:#(YES) forKey:#"UIUseLegacyUI"]
Related
How to get the look and feel of ios 6 on a device having ios 7 using xcode 5.1..?
I have an app which is currently have the look and feel of ios 6 and does not have flat UI supported.
I was using xcode 4.6 and was deploying the app on ios 7 so the look and feel was of ios 6.
But now since I have moved to XCODE 5.1 the app when deployed on ios 7 gives the look and feel of ios 7.
Is there any way I can still make it look like the ios 6 UI.?
Any help is appreciated.
For the look and feel of ios6 on ios7 devices, you need to add and use the images of ios6 resources.
Images for button background, Table background, etc. for each component which is used in your app.
We don't get ios6 resources in ios7 device by default.
From the transition guide from apple I know that there is no rounded rect button in iOS 7, but when I see many "old" apps that run in iOS 7 are still in iOS 6 style.
I have recently developed an app in iOS 6, everything is good. But after iOS 7 published, I have to change a lot UI, for example, the navigation bar and bar button item. But I really do not want to adopt iOS 7 style , but with my app, UI cannot adopt itself to iOS 6 . Even I use the iOS 6 SDK, and publish my app in iOS 7 in iPhone 5, it still use the iOS 7 style and looks terrible.
Any ideas and suggestions? Thanks
It is time to change. This is how Apple sees its operating system. Older apps are already making people angry because they look outdated (look at the backlash WhatsApp is facing for not releasing an update on time). You should get on with the times, take the time and update your UI.
As a short-time solution, you can still upload to the AppStore with Xcode 4.6, compiling against the iOS 6 SDK. But this is only temporary, and you should update your UI as soon as possible.
The UIUseLegacyUI route, suggested in another answer, is a fun way to have fun with the frameworks, and perhaps experimenting, but will not be acceptible on the AppStore due to use of private and probably future-unsupported API.
You can enforce iOS 6's UI in your app:
[[NSUserDefaults standardUserDefaults] setObject:#(YES) forKey:#"UIUseLegacyUI"]
i have an app that perfectly work in iOS 6, and when i update my iPhone to iOS 7 that was still work fine.
Then i update my XCode, and made some minor changes in my app (i did hide 2 UINavigation back bar buttons). After that i update my app (i want to point that i didn't change interface of my app), and when i update it from appStore and launch it on my iPhone there was a completely disaster. Interface objects such as segmented control or UIDatePicker automatically changes for iOS 7 version (style, color), back bar button item change it style, etc.
My question is, how can i force my app to launch on iOS7 with previous (iOS 6) design?
Replacing all the native views (switches, date pickers, alerts, action sheets, table views etc) by your own views that replicate iOS 6 appearance.
There are some open-source solutions, too.
However, it will be very hard, don't expect to do it in a few days.
Recommendation? Don't do it. Modify the apperance of your application for iOS 7. The users will expect it. You can't leave your application forever with deprecated appearance. I understand your feelings (my apps look terrible, too) but staying with iOS 6 appearance is not the solution.
You can build your app with iOS 6 SDK. But it can be only a temporary solution because Apple will not accept such apps in few month, I think.
Here you can see how to add SDK to Xcode:
Is it possible to install iOS 6 SDK on Xcode 5?
I am curious: is there a way to set an iOS 7 app to run with the old fashion iOS 6 visual appearance? I am aware of the UIAppearance protocol but setting the appearance for each individual element seems to be a bit of hassle.
Update: It is no longer possible to upload apps targeting the iOS6 SDK.
Short answer: Compile with SDK6, while it is still possible. Eventually, Apple will deny this, however.
If you are feeling adventurous, try:
[[NSUserDefaults standardUserDefaults] registerDefaults:#{ #"UIUseLegacyUI": #YES }];
(Don't submit your apps with this, however.)
I've tested an old app that I submitted to app store 2 years ago that compiled with iOS 6, before they introduced iOS7. I can confirm that the answer I picked was not entirely correct.
When running on iOS 7 device, the app I made for iOS 6 was a mix of both - 50% looking like iOS 6, 50% like iOS 7. It was compiled with xCode 4.3 or something, with base SDK being iOS 6.
For example, the toolbar and tab bar look like iOS 6, while the alert view looks like iOS 7.
The app that I made was called Social Comics in case you want to have a look yourselves. I made this app not long after I graduated and haven't update it for 2 years so don't laugh if it looked dated...
Compiling with SDK6 in XCode 5 won't help you much. You'll still get the iOS 7 look if you won't customize it your self to look like iOS6. Check my answer here: https://stackoverflow.com/a/18954491/1578927
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Enabling auto layout in iOS 6 while remaining backwards compatible with iOS 5
My boss want me do to an App compatible with iPhone 5/4/4S and iOS 6/5
Is it possible ?
Will i be able to use NSLayoutConstaint ?
You can create a single app that supports anywhere from iOS 4.3 on up and it will work on all devices that supports iOS 4.3 or later (or 5.0 and later if you choose).
However, NSLayoutContraint is only in iOS 6.0 and later. You will need to use other mechanisms for the app to support iOS 5.x.
Nope, not possible. NSLayoutConstaint are only available on iOS 6. You still can use Autoresing mask for layout purpose on iOS 5