iOS FDFullscreenPopGesture Pod

Introduction

When developing iOS applications, one common requirement is to implement a fullscreen pop gesture, similar to the one used in the native iOS navigation controller. This gesture allows users to swipe from the left edge of the screen to navigate back to the previous view controller. While this functionality is not provided out of the box, there are several third-party libraries available that make it easy to add this feature to your app.

One popular library for implementing fullscreen pop gestures is FDFullscreenPopGesture. This library provides a simple and customizable solution for adding this functionality to your iOS app. In this article, we will explore how to integrate and use the FDFullscreenPopGesture library in your iOS project.

Installation

To get started with FDFullscreenPopGesture, you need to install it using CocoaPods. If you haven't used CocoaPods before, you can install it by running the following command in your terminal:

$ gem install cocoapods

Next, navigate to your project's directory and create a new file called Podfile by running the following command:

$ pod init

Open the Podfile using a text editor and add the following lines:

platform :ios, '9.0'

target 'YourAppTarget' do
  use_frameworks!
  pod 'FDFullscreenPopGesture'
end

Save the Podfile and run the following command to install the FDFullscreenPopGesture pod:

$ pod install

Once the installation is complete, open the .xcworkspace file generated by CocoaPods. From now on, make sure to open your project using this file instead of the .xcodeproj file.

Usage

To enable fullscreen pop gestures in your app, you need to make a few changes in your code. First, import the FDFullscreenPopGesture framework in your view controller file:

import FDFullscreenPopGesture

Next, extend your view controller class and conform to the UINavigationControllerDelegate protocol:

extension YourViewController: UINavigationControllerDelegate {
    func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
        // Implement any custom logic before the view controller is shown
    }
}

Inside the willShow method, you can add any additional logic you need before the view controller is presented. For example, you can customize the navigation bar appearance, enable/disable the fullscreen pop gesture for specific view controllers, etc.

Finally, set your view controller as the delegate of the navigation controller in the viewDidLoad method:

override func viewDidLoad() {
    super.viewDidLoad()
    navigationController?.delegate = self
}

With these changes in place, the fullscreen pop gesture should now be enabled in your app. Users can swipe from the left edge of the screen to navigate back to the previous view controller.

Customization

The FDFullscreenPopGesture library also provides several customization options to tailor the fullscreen pop gesture to your specific needs. Here are some common customization options:

Enabling/Disabling the Gesture

You can enable or disable the fullscreen pop gesture for specific view controllers by implementing the fd_interactivePopDisabled property. For example, to disable the gesture for a particular view controller, add the following code inside the view controller class:

override func viewDidLoad() {
    super.viewDidLoad()
    fd_interactivePopDisabled = true
}

Changing the Gesture Color

You can change the color of the fullscreen pop gesture by implementing the fd_fullscreenPopGestureRecognizer.backgroundColor property. For example, to set the gesture color to red, add the following code inside the willShow method:

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
    navigationController.fd_fullscreenPopGestureRecognizer.backgroundColor = .red
}

Disabling the Gesture for Specific Edges

By default, the fullscreen pop gesture is enabled for all edges of the screen. You can disable it for specific edges by implementing the fd_edgesForFullscreenPopGestureRecognizer property. For example, to disable the gesture for the right edge, add the following code inside the willShow method:

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
    navigationController.fd_edgesForFullscreenPopGestureRecognizer = .all.excluding(.right)
}

Conclusion

The FDFullscreenPopGesture library is a convenient and customizable solution for implementing fullscreen pop gestures in your iOS app. By following the installation and usage steps outlined in this article, you can easily add this popular feature to your project. The library also provides several customization options to tailor the gesture to your specific needs.