With Apple's documentation for SwiftUI being limited, I wanted to create a central resource of all bugs, issues and limitations with SwiftUI.
- Environment/observed objects lose data on list view change. This problem appear in case when parent view updated with same data in terms of hash. The bug is not appearing when the parent view updated with different data.
- π¨ Example
- βπ» Explanation
- π FB7411430
- Tab view resets view and navigation stack
- π¨ Example
- βͺοΈ Workaround
- π FB7301114
- Modal views/sheets don't automatically have environment data
- π¨ Example
- Context menu not showing on a custom view with resizable or geometry reader
- π¨ Example
- π FB7416520
- Multiple buttons in a list row causes both buttons to be actioned upon when tapped
- π¨ Example
- βͺοΈ Workaround
- π FB7416322
- 'Tried to pop to a view controller that doesn't exist' crash
- π¨ Example
- βͺοΈ Workaround
- .minimumScaleFactor() is broken in WatchOS app: instead of scaling down, it just set to minimum
- π FB7408679
- π¨ Example
- List insets change padding within a list view when changing state
- List doesn't update update a list view using an array and ForEach()
- π¨ Example
- List crashes when TabView tab changes during a scroll
- π¨ Example
- No SwiftUI equivalent to UICollectionView
- Scrollview with HStack and items have poor performance for large data sets (all child views are loaded on init).
- π FB7216618
- Unable to change navigation appearance for a single view
- π FB7310681
- Unable to easily support deep linking for universal links or notifications
- π FB7408717
- Unable to use a UISearchController with a SwiftUI view
- π¨ Example
- π FB7416329
- Unable to remove a list item background altogether for one cell
- π FB7371374
- Unable to know when view becomes active again (equivalent to viewDidAppear)
- Unable to change status bar colour
- βͺοΈ Workaround
- π FB7400803
- @FetchRequest property wrapper doesn't support dynamic variable predicates
- βͺοΈ Workaround
- π FB7207999
- List doesn't support section index
- π FB7441706
- Horizontal
ScrollView
inside a verticalScrollView
captures vertical scrolling gesture on macOS- π FB7673707
- π¨ Example
- Unable to remove or customise list separators
- π FB7108559
- β
iOS 15: hide list separators for certain edges with
.listRowSeparator
, and change tint color with.listRowSeparatorTint
Please feel free to PR and submit examples, workarounds and/or fixes so I can keep this up to date.