If you have a LayoutKit root node ("A") and somewhere in its subview hierarchy is another LayoutKit root node ("B"), and you call makeViews from A then it will traverse its entire subview hierarchy, including B's hierarchy, and remove views from B's hierarchy in ViewRecycler:purgeViews at:
for view in unidentifiedViews where view.isLayoutKitView {
view.removeFromSuperview()
}
All other forms of layout allow for alternative layout strategies to be used freely at different places in the hierarchy without being intrusive like this. LayoutKit should resolve this internally.
Description of the problem:
If you have a LayoutKit root node ("A") and somewhere in its subview hierarchy is another LayoutKit root node ("B"), and you call makeViews from A then it will traverse its entire subview hierarchy, including B's hierarchy, and remove views from B's hierarchy in ViewRecycler:purgeViews at:
All other forms of layout allow for alternative layout strategies to be used freely at different places in the hierarchy without being intrusive like this. LayoutKit should resolve this internally.