I'm a big believer in using dynamic type as much as possible. However, the API for dynamic type preferredFont(forTextStyle style: UIFontTextStyle) is a class method on UIFont and only returns the system text (SF) font. This is not so helpful when using custom fonts in your app.Read More
As a developer, once you start dealing with dates you quickly realise that anyone who is comfortable working with them is truly a master of the Dark Arts. Timezones, formatting, comparing, incrementing, isolating individual components and a whole lot of other headaches abound.Read More
I got a design requirement recently for a button to be placed in the bottom corner of the screen and for it to be the same distance from the trailing margin as the bottom. The work turned out to be more complicated than I thought.Read More
What do romantic comedies and software development have in common?
But while the rom-com has a fascination with ensuring that the coupling has occurred, and that it will be everlasting (until the sequel) software runs away screaming at the very idea. But how far can we take that principle?Read More
A co-worker at a previous workplace came to me with a problem they were working on. They needed a skewed pseudorandom number generator that, for a given range, would return numbers at the end of the range more often than numbers at the start.Read More
Working on an app for a client recently threw up an interesting issue with CPU performance. Basically we were maxing out the CPU, even on the most plain of view controllers displayed. Finding out why lead us to discover some interesting side effects to using animations.Read More
Reading someone else's code is, at best, a bit of a chore. Now imagine if that person populated their code with unnecessary speedbumps that slowed you to a crawl, thanks to helpful "developer aids."
That's what I think of Swift playground's colour literals.Read More
I just found a strange situation in Swift and, typically for that moment when you're learning something, I'm not sure if I've found a bug, a feature or something really clever I just don't understand.Read More