1

I have faced with a really philosophical question here. Imagine I have a one design of an app that looks magnificent on iOS 7 and relies heavily on standard UIKit elements. The famous "Facebook-like" UINavigationBar you see everywhere in today's apps, with gorgeous blur effects, a great UITabBar with blur as well, and the whole feel and look of flat design.

What would be the best way to port such a look to iOS 6? Using UI7Kit might be an option, but it wouldn't save us from the '20-px status bar issue' and might be buggy. Using custom UIControls (actually 2 of them - one for iOS6 and another for iOS 7) is well, quite a heavy thing to manage.

So what is the best way out of this?

asked Oct 12, 2013 at 0:35

2 Answers 2

2

It all depends on how much resources you can put into support for legacy. This is always where these questions come to.

Ultimately, however, taking into account the quick adoption rates of iOS versions in general, and iOS7 in particular, I would first and foremost suggest supporting iOS7 and making sure everything looks great there. If you focus your use on native UIKit widgets, the backporting should not be as difficult. True, you would still have to worry about issues like '20-pt status bar issue', but a lot of those can be fixed, or at least greatly minimized, using auto layout and developer tools.

Using something like UI7Kit is interesting. I think most of all, it is a philosophical question. If you are planning a relatively native look and feel on iOS7, should you take your users completely out of native with a new look and feel? Remember, just as the legacy look and feel is completely out of place in the modern look and feel, so is the other way around. Consider someone who has a device that cannot be upgraded to iOS7. This individual has not made a conscious choice not to upgrade - he cannot. This interface would be very odd. On top of this dilemma, from experience, utilities like UI7Kit work great until you hit a specific case where they don't and you are left with either having to fix something yourself, open an issue and hope for a resolution or having to change your design to suit technical limitations. You mention that you find managing two custom controls heavy, this would be something to consider as "motherload". This is in no way to dis what has been done in UI7Kit. I think the project, from a purely technical standpoint, is very interesting and fun to watch develop. It's just that it is also quite complex, and a lot of functionality is still missing.

To summarize and give my opinion, I think I lean toward offering as native experience to both worlds as possible, while concentrating development effort toward iOS7. Historically, iOS adoption is two fold. The largest bulk install a new version of the OS soon after release. A second, considerably large bulk of people install the new version once a jailbreak is available. At any rate, after six months, you are looking at upwards of 80 percent marketshare of the new OS.

answered Oct 12, 2013 at 0:53
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks for the great opinion! And +1 for pointing out it's actually 20-pt! Starting to forget some terminology at 5 AM here.
1

20px status bar workaround with UI7Kit

  1. Select view controller in interface builder.
  2. Check 'Use Full Screen (Deprecated)
  3. Uncheck 'Under Top Bars'
  4. Uncheck 'Under Bottom Bars'

If you don't use interface builder, try same thing in code.

After this change,

  1. Your view controllers have iOS6-like navigation bar and tab bar behavior unless you have navigation bar
  2. Your view controllers don't reserve statusbar area without any navigation bar. You can fit it for fullscreen now anyway.
answered Oct 14, 2013 at 19:17

2 Comments

I use your lib UI7Kit. How I can make that this will make customize all without UINavigationController. Or Another Question how I can add rule what ViewController I don't want to Customize
@user2545330 I think it is very late. To disable specific class, use this method: github.com/youknowone/UI7Kit/blob/master/UI7Kit/… And I recommend you to ask things in github issue page. I monitor it more frequent than stackoverflow. Thanks :)

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.