Skip to content
Projects

snail-z/DawnTransition

View on GitHub

snail-z/DawnTransition has 1,503 GitHub stars and 254 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-09 04:08 UTC. Last push 2026-06-04.

How these counts are measured

DawnTransition is a lightweight iOS transition framework for smooth, customizable animations and native-like interactive swipe-back gestures. It solves common gesture conflicts in custom transitions and is proven in real projects.

Measured star growth

in 24h
0
in 7 days
0
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

DawnTransition

Language License Platform Version

DawnTransition is a lightweight iOS transition framework for smooth, customizable animations and native-like interactive swipe-back gestures. It solves common gesture conflicts in custom transitions and is proven in real projects.

Requirements

  • iOS 13.0+
  • Swift 5.0+

Installation

DawnTransition is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'DawnTransition'

Run pod install to integrate it into your project.

📦 Swift Package Manager

DawnTransition also supports Swift Package Manager:

In Xcode:

  • File > Swift Packages > Add Package Dependency
  • Add https://github.com/snail-z/DawnTransition.git
  • Select "Up to Next Major" with "1.1.0"

Or manually in Package.swift:

// swift-tools-version:5.0
import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    dependencies: [
        .package(url: "https://github.com/snail-z/DawnTransition.git", from: "1.1.0")
    ],
    targets: [
        .target(
            name: "YOUR_TARGET_NAME",
            dependencies: ["DawnTransition"]
        )
    ]
)

Then run swift build to fetch and integrate the package.

Usage

let pan = DawnPanGestureRecognizer(driver: self, type: .dismiss) { [weak self] in
    guard let `self` = self else { return }
    self.dismiss(animated: true)
}
pan.isRecognizeWhenEdges = false
pan.recognizeDirection = .leftToRight
view.dawn.addPanGestureRecognizer(pan)

Author

haoz, [email protected]

License

DawnTransition is available under the MIT license. See the LICENSE file for more info.

Explore related projects