This documentation is for the TGLStackedViewController, a versatile view controller for iOS that enables the creation of stacked card interfaces like those seen in popular apps such as Tinder and Instagram. With customizable user interfaces, smooth card transitions, and support for various interactions and animations, TGLStackedViewController offers a powerful tool for creating engaging user experiences.

Please refer to the following sections for detailed information on how to use and customize TGLStackedViewController in your iOS projects.

## 1. Installation

To install TGLStackedViewController in your project, you can use one of the following methods:

Method 1: Cocoapods
1. Navigate to your Xcode project directory using the terminal.
2. Run the command `pod install`.
3. Open your project using the .xcworkspace file.

Method 2: Manual Installation
1. Download the TGLStackedViewController framework from the GitHub repository.
2. Drag and drop the framework into your Xcode project.
3. Enable the “Copy items if needed” checkbox and select “Create groups” for added files.

## 2. Getting Started

To start using TGLStackedViewController in your project, follow these steps:

1. Import the TGLStackedViewController framework in the view controller where you want to use it.
2. Create an instance of TGLStackedViewController in your view controller.
3. Set the data source and delegate of the stacked view controller.
4. Implement the necessary data source and delegate methods.
5. Add the stacked view controller as a child view controller in your view controller.

## 3. Creating Stacked Cards

To create stacked cards using TGLStackedViewController, follow these steps:

1. Create a subclass of UIViewController to serve as your custom card view controller.
2. Implement the necessary UI elements and constraints in your custom card view controller.
3. Implement the required data source methods to provide the number of cards and the card view controller instance for a given index.

## 4. Customizing the Interface

There are several customization options available for the TGLStackedViewController interface. You can customize the card size, spacing, background color, animation duration, and card borders.

## 5. Handling Interactions

TGLStackedViewController provides various options for handling user interactions with the stacked cards. You can handle tap gestures, swipe gestures, and pan gestures to provide a seamless user experience.

## 6. Implementing Delegate Methods

TGLStackedViewController offers delegate methods to handle events and customize the behavior of the stacked view controller. You can customize the appearance of the cards, implement custom transition animations, and track changes in the current card index.

## 7. Additional Features

TGLStackedViewController also offers additional features such as card dismissal, insertion, and removal methods to enhance your stacked card interface.

## 8. Troubleshooting

If you encounter any issues while using TGLStackedViewController, refer to the troubleshooting section for common solutions.

## 9. Example Project

To help you get started, we have created an example project that demonstrates the usage of TGLStackedViewController. You can find it on GitHub at [link to the example project repository].

## 10. Conclusion

Congratulations on learning how to use TGLStackedViewController! You can now create stacked card interfaces in your iOS application using the provided customization options, handle various interactions, and make use of the delegate methods. Have fun experimenting with TGLStackedViewController to create engaging and interactive user interfaces.