ylliX - Online Advertising Network

Automatic Trait Tracking

In iOS 18, UIKit automatically tracks when you access a trait, removing the need to manually register for trait change notifications. Automatic Trait Tracking (iOS 18) In iOS 18, UIKit supports automatic trait tracking in layout update methods in views and view controllers. See the Apple documentation for the full list of supported methods. It […]

SwiftUI Self-Sizing Flow Layouts

The UIKit combination of UICollectionView and the UICollectionViewFlowLayout gives a lot of flexibility and control to build grid-like flow layouts. How do we do that with SwiftUI? Self-Sizing Flow Layouts The UICollectionViewFlowLayout documentation describes a flow layout as laying out a collection of items using a fixed distance in one direction and a scrollable distance […]

Conditional SwiftUI Accessibility Labels

In iOS 18, Apple added an optional isEnabled parameter to many of the accessibility modifiers. Conditional Accessibility Modifiers (iOS 18) Apple added the isEnabled parameter to .accessibilityLabel, .accessibilityInputLabels, .accessibilityValue, .accessibilityHint and many other accessibility modifiers. This has the effect of only applying the modifier when the isEnabled parameter is true. This is useful in situatons […]

iPhone 16 Screen Sizes

Two new sizes as the Pro phones grow in size, and weight, and get even smaller bezels. Here’s what you need to know about the iPhone 16. The New Models in a Nutshell As in earlier years, Apple has discontinued the iPhone 15 Pro models and added features to the base iPhone 16 models. Apple […]

SwiftData Expressions

SwiftData gained support for predicate expression in iOS 18. How does it compare to the expressions we can use with Core Data? Core Data Queries with NSExpression When Apple launched SwiftData with iOS 17 there were some gaps compared to Core Data. A big one for me was the ability to create an aggregate query […]

My process for learning new languages

Throughout my life, I have met several people who struggle to learn a new language, with some of them being unable to communicate at a basic level despite having studied for several years. I believe that learning a language is not a matter of talent, but that of dedication and following a good process. In […]

SwiftUI Previewable Macro

Apple added the Previewable macro to iOS 18. This generates the boilerplate wrapper view you need to preview a view with State bindings. What’s The Problem? I have mixed feelings about SwiftUI previews. When they work they can make creating a view an interactive experience. They can also be slow, break with confusing errors, and […]

Disabling Xcode Asset Symbol Generation

Xcode 16 added a property to asset catalogs to opt-out of asset symbol generation. This is especially useful for Swift Packages which had no way to disable the project settings they inherited. Asset Catalog Symbol Generation – A Recap Xcode 15 introduced a feature to create Swift, and Objective-C, symbols for colors and images in […]