Challenge: Nested Scrolling Stacks | raywenderlich.com


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/17314449-swiftui-layout-interfaces/lessons/4

I’ve been speaking to a number of devs, also mentioned it to Mark Moeykens from Big Mountain Studio that Endless Scrolling lists or Lazy stacks are a significant problem in SwiftUI.

Nested Scrolling Stacks are also difficult to manage with LazyH/LazyVStacks.

Another issue with production SwiftUI code are inconsistencies with behaviours in the app related to navigation.

I would be interested to see if you have written your own UIKit wrappers around common components like

  1. Endless scrolling collections (Containing lists within lists) -
  2. Tabbar Navigation
  3. Pull to refresh in endless scrolling collections (Nested Scrolling Stacks)

The above caused us enough problems for the team to revert our work on SwiftUI back to UIKit.

Would be interested in peoples thoughts on the above issues.

Hello @jessycatterwaul
Thanks for the nice tutorial, I think there’s an issue with the last bit of the challenge code.
If we use a LazyVstack as presented (seen line 44 in the video) the scrollTo function will not act properly unless the view we are trying to scrollTo is already loaded. Replacing the LazyVstack with a VStack solves this issue as all views in the scrollview are then available for scrollTo to perform its job.

my mac mini is freezing when scrolling vertically, between genres. Seems that lazy scrolling isn’t optimized

So basically I should use lazy stacks whenever possible to improve the apps’ performance, right?