A Swift library to dismiss modal view controllers by pulling scroll views or navigation bars, similar to Facebook Messenger.
PullToDismiss is a Swift library that adds interactive dismissal gestures to modal view controllers in iOS apps. It allows users to dismiss modals by pulling down on scroll views or navigation bars, similar to the behavior in Facebook Messenger, with smooth animations and customizable background effects.
iOS developers building apps with modal presentations who want to enhance user experience with intuitive, gesture-based interactions.
Developers choose PullToDismiss for its easy integration, support for all scroll view types, and rich customization options like blur and shadow effects, providing a polished, native-like dismissal mechanism without extensive custom code.
You can dismiss modal viewcontroller like Facebook Messenger by pulling scrollview or navigationbar 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.
Works with all major scroll view types including UIScrollView, UITableView, UICollectionView, UIWebView, and WKWebView, as highlighted in the README's feature list.
Offers shadow and blur effects with adjustable colors, alpha, and blur radius, allowing for rich visual feedback during dismissal, as shown in the sample gifs and customization section.
Automatically adds pan gestures to navigation bars for dismissal, enhancing user experience without extra code, as stated in the key features.
Supports integration into Objective-C projects from version 2.1 onward, broadening its usability in mixed-codebase environments.
Only works with modal view controllers, so it's not suitable for other dismissal scenarios like navigation stack pops or non-modal interactions.
Blur effects require iOS 9.0+, which can be a limitation for apps targeting older iOS versions, as noted in the requirements section.
Adding pan gestures to navigation bars might interfere with existing gesture recognizers in complex UIs, though not explicitly addressed in the README.