iOS7, We’ve Got A Problem
Today is the day, iOS7 launches to all iPhones & iPads. What does that mean to us developers? A lot of work, that’s what. Unlike other transitions iOS5 -> iOS6, all previous apps “just worked” but this version is the biggest change since iOS 3.0. Approximately about 90% of apps tested are having trouble running on iOS7, these issues range from the apps crashing on launch to labels mis-aligned to the status bar at the top messing up views.
Let’s take a look at the most common issue developers are having, the status bar.
Status Bar Appears Over My View
You can achieve this by implementing new property called edgesForExtendedLayout in iOS7 SDK. Please add the following code to achieve this,
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone;
You need to add the above in your -(void)viewDidLoad method.
iOS 7 brings several changes to how you lay out and customize the appearance of your UI. The changes in view-controller layout, tint color, and font affect all the UIKit objects in your app. In addition, enhancements to gesture recognizer APIs give you finer grained control over gesture interactions.
Using View Controllers
In iOS 7, view controllers use full-screen layout. At the same time, iOS 7 gives you more granular control over the way a view controller lays out its views. In particular, the concept of full-screen layout has been refined to let a view controller specify the layout of each edge of its view.
The wantsFullScreenLayout view controller property is deprecated in iOS 7. If you currently specify wantsFullScreenLayout = NO, the view controller may display its content at an unexpected screen location when it runs in iOS 7.
To adjust how a view controller lays out its views, UIViewController provides the following properties:
The edgesForExtendedLayout property uses the UIRectEdge type, which specifies each of a rectangle’s four edges, in addition to specifying none and all. Use edgesForExtendedLayout to specify which edges of a view should be extended, regardless of bar translucency. By default, the value of this property is UIRectEdgeAll.
If your design uses opaque bars, refine edgesForExtendedLayout by also setting the extendedLayoutIncludesOpaqueBars property to NO. (The default value of extendedLayoutIncludesOpaqueBars is NO.)
If you don’t want a scroll view’s content insets to be automatically adjusted, set automaticallyAdjustsScrollViewInsets to NO. (The default value of automaticallyAdjustsScrollViewInsets is YES.)
The topLayoutGuide and bottomLayoutGuide properties indicate the location of the top or bottom bar edges in a view controller’s view. If bars should overlap the top or bottom of a view, you can use Interface Builder to position the view relative to the bar by creating constraints to the bottom of topLayoutGuide or to the top of bottomLayoutGuide. (If no bars should overlap the view, the bottom of topLayoutGuide is the same as the top of the view and the top of bottomLayoutGuide is the same as the bottom of the view.) Both properties are lazily created when requested.
iOS7 – The Good, The Bad and The Ugly
On Monday Apple shared iOS7 with everyone during the World Wide Developers Conference (WWDC) to mixed reviews. Some people are really happy with the new flat look, while others criticize it for looking to much like the latest Windows 8 design, a poor colour palette and for just being confusing. Below I classify what’s people think are good, bad and ugly about the next version of iOS.
I’m sure we’ll be seeing more changes in the iOS 7 beta period than ever before. Which makes a lot of sense, given that it’s the biggest change in iOS ever. There is also 1500+ new APIs for developers to use. I can’t talk about those until iOS7 is released publicly in the fall because of the developer NDA but there are some cool new features you’ll start to see in third party apps.
Interview: Yahoo Finance Canada
Yesterday I was contacted by Shane Schick from Yahoo Finance Canada before the WWDC Keynote. He wanted to know my thoughts on iOS7, what I wanted to see included and how it will affect developers.
Read Shane’s article here: Apple WWDC 2013: What’s still missing from iOS 7
News: iOS7 Rumors
It’s almost June and that means WWDC! This year the Apple World Wide Developers Conference (WWDC) will be held from June 10 – 14 in San Francisco. During WWDC we get to hear about the next version of iOS. This is a highly anticipated version since iOS7 will be the first release without any input from Steve Jobs & Scott Forstall who previously was Senior VP of iOS Software at Apple. iOS will now be controlled by Jonathan Ive who is also responsible for the design of all Apple hardware.
There is expected to be big changes in iOS this year, most notably will be the loss of the skeuomorphic design that we’ve seen in previous versions of the OS. Skeuomorphism means to design based on real-world products, i.e. Notes looks just like a real notepad or the calculator looked like a standard button calculator. Jobs & Forstall were big believers in skeumorphic design but Apple has been criticized because it looks dated compared to new user interfaces that are coming out. Jonathan Ive is said to have been given a free-hand, allowing him to completely redesign the OS and interface. That will mean something completely different to what we’ve seen so far. It’s be rumored that Ivy will apply a more flat design similar to the Microsoft Windows 8 style. A flat approach will make the OS more streamlined and cleaner. The core functionality of the operating system will be left unchanged, but look for most of the Apple apps to have a fresh redesign, including the icons.
Further Social Integration
Apple has been making efforts to offer deep social network integration in its mobile operating system, first offering Twitter integration in iOS 5 and then Facebook integration in iOS 6. According to rumors, Apple will expand its social network integration even further with iOS 7, including support for both photo sharing site Flickr and video sharing site Vimeo. As with Facebook and Twitter integration, Vimeo and Flickr integration will allow users to be able to sign in to the social networks in the Settings menu. Those one-time sign-in credentials will be usable across iOS, providing comprehensive sharing options and easy integration with other downloaded apps.
Apple is reportedly planning to enter the in-car integration game, attempting to stuff iOS’s Maps and Siri services deep into vehicle interfaces, moving even beyond iOS-based consoles, like the one Volkswagen is incorporating into its iBeetle. Cupertino wants to allow drivers to plug their iPhone into a car and interact with an optimized version of Apple Maps on the vehicle’s built-in display, instead of a propriety GPS system.
Apple is also rumored to be looking to overhaul the notification system in the software, providing more information and actionable notifications to the pull-down bar – a similar approach taken by Google for recent versions of its open-source Android mobile operating system. Rumors of OS X Mountain Lion-inspired swipe-able gestures are also spreading, although it’s not yet known how such functionality would translate to a mobile device.
Near field communication (NFC)
One of the big rumors about the upcoming iOS devices is integrated NFC and the ability to pay for goods with your phone. This would most likely require an updated version of Passbook that supports these kinds of payments.
The main problem: with Apple being as tight lipped as they always are, we have no idea what to expect from the upcoming design when it comes to specifics. That’s where iOS 7 concept videos come in. This latest one from Youtube user SimplyZesty (seen below) depicts not only new icons, but new animations as well as totally redesigned apps.
You can expect to see the new version of iOS7 on your phones in September or October. This usually coincides with the release of the latest iPhone. Expect a more definitive answer at WWDC.