A Test Driven Custom Swift Zip Function Using Generics
My recent blog post, Zip, Map and Generics, looked at Swift's new zip() function for zipping together two arrays. zip returns a SequenceType with as many items as its shortest input sequence. What if...
View ArticleCoreMotion Controlled 3D Sketching on an iPhone with Swift
I was really impressed by a demo of InkScape that I read about in Creative Applications recently. InkScape is an Android app which allows users to sketch in a 3D space that's controlled by the device's...
View ArticleA Swift Nixie Tube Display Component
I’m a chap of a certain age who can still remember Nixie Tubes in common use: when I was growing up we had a digital clock that displayed the time with them and, back then, it was the height of...
View ArticleUsing an iPhone as a 3D Mouse with Multipeer Connectivity in Swift
My recent experiment with CoreMotion, CoreMotion Controlled 3D Sketching on an iPhone with Swift, got me wondering if it would be possible to use an iPhone as a 3D mouse to control another application...
View ArticleA Swift Node Based User Interface Component for iOS
With the exciting news about Apple's new iPad Pro and the new Core Image filters in iOS 9 (some powered by Metal Performance Shaders!), now is a perfect time for me to start working on version 3 of my...
View ArticleAdvanced Touch Handling in iOS9: Coalescing and Prediction
With the introduction of the iPad Pro, low latency, high resolution touch handling has become more important than ever. Even if your app runs smoothly at 60 frames per second, high-end iOS devices have...
View ArticleApplying Gaussian Blur to UIViews with Swift Protocol Extensions
Here's a fun little experiment showing the power of Swift's Protocol Extensions to apply a CIGaussianBlur Core Image filter to any UIView with no developer overhead. The code could be extended to apply...
View ArticleA First Look at Metal Performance on the iPhone 6s
TL;DR The 6s runs my Metal particles app approximately 3 times faster than the 6 and can calculate and render 8,000,000 particles at 30 frames per second!My shiny new iPhone 6s has just arrived and, of...
View Article3D Touch in Swift: Implementing Peek & Pop
One of my favourite features on the iPhone 6s is the new 3D Touch Peek and Pop. Peek and Pop relies on pressure sensitivity to offer the user a transient preview pop up with a press (peek) or allows...
View ArticleChromaTouch: a 3D Touch Colour Picker in Swift
If you're fairly new to Swift, you may have found my last post on 3D Touch a little daunting. Here's a much smaller project that may be a little easier to follow to get up and running with force, peek,...
View ArticleRotatable: A Swift Protocol Extension to Rotate any UIView
One of the questions frequently asked on StackOverflow is “how do I rotate my UILabel / UIButton / UISlider etc.”. So, following on from Blurable, my Swift protocol extension for applying a Gaussian...
View ArticleDeepPressGestureRecognizer - A 3D Touch Custom Gesture Recogniser in Swift
Back in March, I looked at creating custom gesture recognisers for a single touch rotation in Creating Custom Gesture Recognisers in Swift. With the introduction of 3D Touch in the new iPhone 6s, I...
View ArticleForceSketch: A 3D Touch Drawing App using CIImageAccumulator
Following on from my recent posts on 3D Touch and touch coalescing, combining the two things together in a simple drawing application seemed like an obvious next step. This also gives me the chance to...
View ArticleGlobular: Colourful Metaballs Controlled by 3D Touch
I've seen a few articles this week about a beautiful looking app called Pause. One of Pause's features is the ability to move a fluid-like blob around the screen which obviously got me thinking, "how...
View ArticleForceZoom: Popup Image Detail View using 3D Touch Peek
My experiments with 3D Touch on the iPhone 6s continue with ForceZoom, an extended UIImageView that displays a 1:1 peek detail view of a touched point on a large image.The demo (above) contains three...
View Article3D ReTouch: An Experimental Retouching App Using 3D Touch
Here's the latest in my series of experiments exploring the possibilities offered by 3D Touch. My 3DReTouch app allows the user to select one of a handful of image adjustments and apply that adjustment...
View Article3D Touch in Swift: A Retrospective
Following my 3D Touch for Swift Developers talk at Swift London last night, I thought it would be nice to round up all my 3D Touch blog posts into a single retrospective.3D Touch in Swift: Implementing...
View ArticleBook Review: Swift Documentation Markup by Erica Sadun
For me, there’s always been a temptation to avoid documenting code for personal projects. My code is, in my opinion, so beautifully self documenting that it doesn’t need an additional narrative....
View ArticleThe Plum-O-Meter: Weighing Plums Using 3D Touch in Swift
Here at FlexMonkey Towers, the ever beautiful Mrs FlexMonkey and I love to spend our Sunday mornings luxuriating in bed drinking Mimosas, listening to The Archers omnibus and eating some lovely plums....
View ArticleSwift Hierarchical Selector Component based on UIPickerView & UICollectionView
After all the excitement of globular metaballs, pressure sensitive drawing and weighing plums using 3D Touch, it’s back to a slightly more pedestrian subject: a “hierarchical selector” composite...
View Article