A fully customizable and extensible action sheet controller for iOS, built with Swift and UICollectionView.
XLActionController is an open-source iOS library for creating fully customizable action sheet controllers. It replaces the standard UIAlertController with a more flexible solution that supports custom layouts, rich media (like images and subtitles), and advanced animations. Built on UICollectionView, it allows developers to design action sheets that perfectly match their app's design language.
iOS developers who need highly customized action sheets beyond the limitations of UIAlertController, particularly those building branded apps with unique UI requirements.
Developers choose XLActionController because it provides complete control over action sheet appearance and behavior while maintaining a familiar API. Its extensible architecture and support for custom data types enable rich, app-specific designs that aren't possible with system components.
Fully customizable and extensible action sheet controller written in Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows full customization of cells, headers, and animations using any data type, enabling action sheets that mimic apps like Spotify or Twitter as shown in the examples.
Supports actions with images and subtitles, overcoming UIAlertController's text-only limitation, which is ideal for branded interfaces.
Built on UICollectionView, it offers subclassing points for custom behaviors and advanced animation control through settings like dynamics and scaling.
Mirrors UIAlertController's API with methods like addAction, reducing the learning curve for iOS developers.
Creating custom action sheets requires subclassing ActionController and configuring multiple spec blocks, which is more involved than using system components.
Despite provided examples, developers must build most customizations from scratch, lacking a comprehensive collection of ready-to-use styles.
Using UICollectionView with custom animations might impact smoothness on older devices, especially with rich media and dense layouts.