Writing
The public notebook: Swift, iOS, Flutter, and a long trail of “I will definitely remember this.”
-
Holy cow – You can preview UIKit code live in Xcode!
Now that SwiftUI is feeling more and more established since WWDC 2020, I’m in the process of getting properly acquainted with it. In my exploring I discovered something actually more relevant to…
-
Tiling a background image – sans code!
I recently wrote an article on a simple custom UIView class you can use to tile an image. Unfortunately – this doesn’t help us in a LaunchScreen, where custom classes are not…
-
Tiled background image in custom UIView class
Sometimes you need a repeated or tiled image in your app, often for a background. Something like these rain-drops for example: Here’s a simple UIView subclass that accepts an image parameter, and…
-
Presentation Style default in iOS 13
This week is International Week of the Deaf, so to thank the community that have been a big part of my app Subtitles Viewer‘s success, Subtitles Viewer PRO is free for the whole…
-
Property Wrappers and User Defaults
I love magical new features that help us abstract away boiler-plate code and let us focus on the unique features of our apps. Property wrappers is such a feature, and seriously –…
-
SF Symbols in iOS 13
I was playing with the amazing SwiftUI with Apple’s tutorials (stay tuned, I hope to write something on SwiftUI soon) when I noticed something interesting: Where does this “star.fill” come from, I…
-
Swift 5 – it’s alive!
It’s been a couple of weeks now since Swift 5 has arrived, with a bunch of features, such as: ABI stability source compatibility isMultiple – a fancy technique for checking if a…
-
Optionals in Swift explained – with a cat in a box!
If you’ve come to Swift from a language that doesn’t use optionals, you might find the concept a little strange and the syntax unfamiliar at first. Sometimes it helps to learn the…
-
Get a continent from longitude-latitude
For a project I’m working on I needed to know if a point (latitude,longitude) was in a continent, and if so, which one! To do this, first I set up a Continent…









