In SwiftUI, many layout container constructors include a spacing parameter with a default value of nil, which controls the spacing between adjacent views. This article will start with this default parameter to explore the concept of Spacing in SwiftUI in-depth, and share some related tips and considerations.
At the WWDC 2023, Apple introduced the containerRelativeFrame view modifier to SwiftUI. This modifier simplifies some layout operations that were previously difficult to achieve through conventional methods. This article will delve into the containerRelativeFrame modifier, covering its definition, layout rules, use cases, and...
In the toolbox of SwiftUI, overlay and background are two extremely useful view modifiers that play an indispensable role in various development scenarios. This article will delve into the unique attributes of these two modifiers, clarify their fundamental differences from ZStack, and identify the scenarios they are best suited...
Apple recently updated its App Store Review Guidelines, now allowing emulator apps into the App Store. Just a few days ago, an emulator app named Delta was launched on the store. Delta is an all-in-one emulator designed for iOS, supporting a variety of Nintendo handheld games. This app was actually developed a long time ago but...
SwiftData, as the successor to Core Data, has introduced a multitude of innovative and modern design ideas. Despite its availability for some time now, many developers have yet to adopt it in their projects. This situation is partly due to SwiftData’s higher requirements for the operating system version. Additionally, because...
An increasing number of developers are starting to enable strict concurrency checks in preparation for the arrival of Swift 6. Among the warnings and errors received, a portion relates to SwiftUI views, many of which stem from developers not correctly understanding or using @MainActor. This article will discuss the meaning of...
I am planning on making an android app because I have a Google pixel 6 I got as a birthday gift and I love how open Android has gotten over the years....
Orange group keeps alive and available an interesting and very rich web site providing plenty of rules and advices about accessibility. The content targets iOS, Android, web and also other mediums.
I did something like this for analytics on the company app. It needs to record analytics to multiple providers for which a fan out pattern was a good fit. There’s a single entry point to log an event. Any number of loggers then pick up that event and send it out to the provider. It has worked well and is even used for...
Apple introduced the new Observation framework powered by the macro feature of the Swift language. The new Observation framework, in combination with the Swift Concurrency features, allows us to replace the Combine framework that looks deprecated by Apple. This week, we will learn how to use the Observation framework to handle...
SwiftData by Example is the world’s largest collection of SwiftData examples, tips, and techniques to help you build apps, solve problems, and understand how SwiftData really works.
async/await in Swift was introduced with iOS 15, and I would guess that at this point you probably already know how to use it. But have you ever wondered how async/await works internally? Or maybe why it looks and behaves the way it does, or even why was it even introduced in the first place?