TabViewItems each embed an arbitrary View in a TabView
TabViewController provides a convenient way to manage a TabView by embedding each child ViewController added to it in a tab.
PageView arranges its subviews like pages in a book, displaying only the "current" subview, but sizing itself to contain all subviews. It serves as the primary content container for TabView.
Outstanding issues to be addressed in this PR:
[x] Documentation review
[ ] Any way to make TabView and PageView subview management more "vanilla"
[x] CollectionView (all containers) not working with ViewAutoresizingFill
[ ] Sure would be nice to fix Panel horizontal resizing.
[ ] Look into sizeToFit thrashing. This is called hundreds of times per layout for non-trivial View graphs.
@kaadmy This is now in master, so if you pull MVC, you will have to refactor your tab view stuff (naming collisions). Lemme know when you want to tackle that, and I can give you an overview of these classes.
This PR introduces
TabView
and friends:TabView
manages an array ofTabViewItems
TabViewItem
s each embed an arbitraryView
in aTabView
TabViewController
provides a convenient way to manage aTabView
by embedding each childViewController
added to it in a tab.PageView
arranges its subviews like pages in a book, displaying only the "current" subview, but sizing itself to contain all subviews. It serves as the primary content container forTabView
.Outstanding issues to be addressed in this PR:
TabView
andPageView
subview management more "vanilla"CollectionView
(all containers) not working withViewAutoresizingFill
Panel
horizontal resizing.sizeToFit
thrashing. This is called hundreds of times per layout for non-trivialView
graphs.