Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Advanced iOS Interface Design?

I've done a bit of iPhone development (3 apps in the appstore currently) but the interface has been pretty plain. I've used the stock components for the most part (UITableViewController, etc.) with a little bit of customization, but for the most part everything looks pretty generic. I'd like to get started developing apps with a richer user interface, but haven't found any good resources to get me started.

What resources have you all come across that outline how to create more advanced iOS interfaces (both iPhone and iPad)? Books? Blog entries? Just looking at the apps I have installed right now, some of the interfaces I've been very impressed with are the ESPN Score Center, XFINITY TV, Facebook, etc.

What about 3rd party interface component libraries? Are there any you recommend that provide more advanced interface components than those in the stock iOS library?

I'd love to take a look at any resources that you recommend for getting started.

like image 998
Shadowman Avatar asked Jan 19 '11 15:01

Shadowman


People also ask

What is the iOS interface?

Interface. The iOS user interface is based upon direct manipulation, using multi-touch gestures such as swipe, tap, pinch, and reverse pinch. Interface control elements include sliders, switches, and buttons.

What are iOS design principles?

Design principlesA consistent app uses consistent visual and functional language. In general, elements with similar functions should look similar. Consistency creates a sense of familiarity and simplifies the process of interaction with an app for first-time users.

What is Apple's design system called?

Aqua is the graphical user interface, design language and visual theme of Apple's macOS operating system. It was originally based on the theme of water, with droplet-like components and a liberal use of reflection effects and translucency.

Is SwiftUI the future of iOS development?

Again, I want to reiterate that SwiftUI is absolutely going to be the future of development for Apple's platforms, but it will take a long time to gain adoption at the level of UIKit.


2 Answers

I love Ray Wenderlich's tutorials. He's got one on Core Graphics which allows you to draw your own Table Views with headers, buttons, and bezier-curved footers!

like image 173
Stephen Furlani Avatar answered Oct 10 '22 07:10

Stephen Furlani


Here's a little secret that often gets overlooked: a lot of the cool UI elements you see are stock Apple elements that have been customised to the brink of no return.

The main reason for this is Apple have put a lot of time and effort into making components that just plain work. A UIScrollView, for example, has had many more combined hours of testing than any app you write could hope to achieve.

The trick is to know exactly how to customise elements. A UITabBar is a good example: I've seen several apps that use their own custom tab bars. The problem is, often they don't handle edge cases particularly well. You might have issues if somebody tries to hit two items at the same time (I've actually seen an app that used their own implementation of a tab-bar crash if you pressed two items at the same time).

But if you use Apple's UITabBarController and either subclass, categorise, or otherwise overload it to get the customisation you want, you get a lot of the low-level event handling stuff for free.

You would be amazed with what you can do with a UITableViewController, and you get things like view recycling for free (some of the apps I've worked on have things like independent cell resizing, customised animation of cells, horizontal implementations of a tableview, etc).

Not a particularly useful answer, I grant you, but the point I want to get across here is once you've designed your kick-ass UI step back and consider what can be achieved with the existing toolset before rolling your own. You'll thank me when you come to bug fixing!

like image 43
lxt Avatar answered Oct 10 '22 06:10

lxt