Scrollable containers interact with the iOS focus engine using the UIFocusItemScrollableContainer
protocol. The said protocol (and other focus-related protocols) does not provide means to inform the focus system of layout changes. In order for the focus highlight to update properly as the scroll view scrolls, this implementation incorporates a UIScrollView into the focus hierarchy to workaround the highlight update problem.
As a result, in the current implementation only scrollable containers and the root node establish their own coordinateSpace
s. All other UIFocusItemContainter
s use the same coordinateSpace
as the containing UIScrollView, or the root FlutterView
, whichever is closer.
See also the frame
method implementation.
Definition at line 181 of file SemanticsObject+UIFocusSystem.mm.