what's changed in SwiftUI in iOS18?

Generated on 7/31/2024

1 search

In iOS 18, SwiftUI has introduced several new features and improvements. Here are some of the key changes:

  1. Graphics Capabilities:

    • New mix modifier on color to blend colors together.
    • Extended custom shader feature with precompilation to avoid frame drops.
  2. Scroll View Enhancements:

    • Fine-grained control over scroll views with new APIs.
    • Ability to detect changes in view visibility due to scrolling.
    • More programmatic control over scroll positions and content alignment.
  3. Swift 6 Language Mode:

    • Enables compile-time data race safety.
    • Views in SwiftUI are now marked with the main actor annotation by default.
  4. Accessibility Improvements:

    • Additional accessibility information can be added to built-in labels without overriding them.
    • New accessibility features such as conditional modifier support and app intent-based actions.
  5. Xcode Previews:

    • New dynamic linking architecture for faster iteration.
    • Easier setup with the previewable macro to use state directly in previews.
  6. Text Management:

    • Programmatic access to and control of text selection within text editing controls.
  7. Interoperability with UIKit and AppKit:

    • Improved integration of gestures and animations.
    • Ability to use UIKit gesture recognizers in SwiftUI views.
    • SwiftUI animations can now animate UIKit views.

For a detailed overview, you can watch the session What’s new in SwiftUI starting at 14:17.