Skip to content

Exploration of the new APIs for SwiftUI from WWDC22.

License

Notifications You must be signed in to change notification settings

liang2kl/swiftui-wwdc22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WWDC 2022's New Stuff in SwiftUI

Here we will explore (hopefully) most new APIs for SwiftUI in macOS 13 and iOS 16, either introduced in the sessions or not.

Current Plans

As introduced in What's new in SwiftUI, the major updates to SwiftUI this year include:

  • Custom layouts (multi-platform)
  • Grid (multi-platform)
  • New navigation APIs (multi-platform)
  • Swift Charts framework (multi-platform)
  • New feature of TextField (multi-platform)
  • Table (on iPad)
  • Desktop-class toolbar (on iPad)
  • Resizable sheets (on iOS)
  • Multiple windows (on macOS)
  • Status bar window (on macOS)
  • New design of Form (on macOS)

This project aims to cover most of the new APIs of the features mentioned above with a set of tiny demos.

Demos

Topic Demos
Layout WaterfallLayout
EqualWidthHStack
Charts InteractiveWeatherChart
Navigation

Usage

Xcode 14.0 beta (14A5228q) is required to build the project.

To see how the UI looks, you can either run the app and select the demos listed on the sidebar, or see each individually with Xcode Previews.

You can also go directly to the source files to check the implementation details.

Contribution

Contributions are welcome to make new demos of the uncovered topics (listed as not-finished above) or alternative use cases of the already-covered topics.

If you are to make a new demo, make sure to:

  • Put the new source file into a (existing or newly created) group,
  • Create a preview in the source file
  • Document it in detail,
  • Make an entry in the split view using the static preview, and
  • Update the README.

About

Exploration of the new APIs for SwiftUI from WWDC22.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages