A Swift library for advanced UIAlertController usage with custom pickers like date, location, contacts, and image selection.
Alerts & Pickers is a Swift library that supercharges the native UIAlertController with advanced picker components and custom input views. It solves the limitation of standard iOS alerts by allowing developers to embed complex pickers like date selectors, image galleries, contact lists, and map views directly into alert dialogs, creating richer user interfaces without building custom modal controllers from scratch.
iOS developers building apps that require sophisticated user input dialogs, such as forms, settings screens, or data selection interfaces, and who want to maintain a native iOS look and feel.
Developers choose Alerts & Pickers because it provides a extensive set of prebuilt, customizable pickers with a simple API that reduces boilerplate code. It extends UIKit naturally, ensuring compatibility and performance while offering features not available in the standard UIAlertController.
Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date...
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Embeds complex UIKit components like UITextField, UIDatePicker, UITableView, and MKMapView into alerts, enabling rich input dialogs with minimal boilerplate code, as shown in the numerous picker examples.
Includes ready-to-use pickers for countries, phone codes, and currencies with localized data, saving development time and effort compared to sourcing and formatting this data manually.
Allows deep customization of alert elements, such as fonts, colors, button images, and content view sizing, demonstrated in the configurable text field and alert styling code snippets.
Provides an intuitive interface with methods like `alert.show()` and closure-based configuration, making it easy to implement advanced alerts without complex setup, as highlighted in the usage examples.
Requires iOS 11 or higher, excluding support for apps that need to target older iOS versions or maintain backward compatibility with legacy devices.
When embedding custom view controllers, developers must manually set `preferredContentSize.height`, which is error-prone and can lead to layout issues if not handled correctly, as noted in the README.
Built for Swift 4, which may cause compatibility problems with modern Swift projects using Swift 5 or later, potentially requiring migration efforts or causing compilation errors.
Focuses exclusively on extending UIAlertController, so it's unsuitable for non-alert modal presentations or more complex UI flows beyond standard alert and action sheet styles.