via iOS 9 – NSHipster.
WWDC 2015 may not have packed quite as many fireworks as its predecessor, but neither was it short on the new and shiny. The introduction of watchOS 2, including a revamped WatchKit, access to the Apple Watch hardware, and support for complications. Major changes to the Swift language and the announcement of open source plans. Brand new frameworks, such as Contacts, ContactsUI, and CoreSpotlight, and new UIKit types like
We’ll surely delve into these major new components in the weeks and months to come. For now, however, let’s take a look at some of the smaller changes that iOS 9 brings to the APIs we already know and love.
via The ABC of Making a UIAlertViewController Popover in Swift (Xcode 7 beta 2; iOS 9).
Last time we looked at making a UIImagePickerController popover, and this time we do something very similar but slightly different. We start by creating a UIAlertController instance:
via Adapting Stack Views With Size Classes – Use Your Loaf.
This post was written based on Xcode 7.0 and iOS 9 beta 2 – I will update it if something changes in a future beta.
I previously showed an example of how to use Stack Views, which are new with iOS 9, to make it easier to user Auto Layout. I also showed how to update the axis of the stack view at runtime to manually switch between horizontal and vertical view alignments.
A better approach would have been to have the stack view automatically adapt to the horizontal and vertical size classes of the device. For example, could we make a horizontal stack view switch to a vertical layout when the width is compact but we have a regular height?
via A First Look at Metal Performance Shaders in iOS 9.
One of my favourite new iOS 9 features released at this year’s WWDC is the new Metal Performance Shaders (MPS) framework. MPS were explained by Anna Tikhonova in the second half of What’s New in Metal, Part 2, in a nutshell, they are a framework of highly optimised data parallel algorithms for common image processing tasks such as convolution (e.g. blurs and edge detection), resampling (e.g. scaling) and morphology (e.g. dilate and erode). The feature set isn’t a million miles away from Accelerate’s vImage filters, but running on the GPU rather than the CPU’s vector processor.