A child view controller framework for iOS/macOS/tvOS that enables continuous scrolling across multiple scroll views.
Family is a Swift framework for iOS, macOS, and tvOS that simplifies managing child view controllers within parent controllers. It solves the problem of achieving continuous scrolling across multiple scroll views while maintaining dequeuing capabilities, making complex layouts easier to build and maintain.
iOS, macOS, and tvOS developers building applications with complex, scrollable interfaces that require modular view controller hierarchies.
Developers choose Family for its simple yet powerful API that handles the intricacies of scroll view coordination automatically, enabling maintainable and testable code without sacrificing performance or user experience.
:children_crossing: A child view controller framework that makes setting up your parent controllers as easy as pie.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles multiple scroll views as a single view by passing content offsets and modifying frames dynamically, enabling smooth scrolling across child controllers without losing dequeuing, as described in the layout algorithm.
Promotes testable and maintainable code by simplifying child view controller management, allowing developers to focus on application logic and polished UIs, aligning with its philosophy of modular design.
Supports iOS, macOS, and tvOS applications, making it versatile for developers building across Apple's ecosystem, as highlighted in the features list.
Offers performBatchUpdates for atomic layout changes when updating multiple view controllers, which is encouraged to improve performance and avoid redundant calculations.
Dynamically modifies views' frames to constrain height, which could introduce rendering bottlenecks in applications with very dense or frequently updating UI, especially on older devices.
Adds an external framework that may complicate project maintenance, conflict with other libraries, or require updates to stay compatible with new iOS versions, increasing long-term risk.
Requires understanding of child view controllers, Core Animation for custom keys, and the framework's API for advanced features like animations, making it less accessible for developers new to iOS architecture patterns.