# Table of Contents - [Hero Reference](#hero-reference) - [BinaryOpNode Class Reference](#binaryopnode-class-reference) - [Hero Reference](#hero-reference) - [CallNode Class Reference](#callnode-class-reference) - [Classes Reference](#classes-reference) - [ExprNode Class Reference](#exprnode-class-reference) - [FunctionNode Class Reference](#functionnode-class-reference) - [Hero Class Reference](#hero-class-reference) - [HeroContext Class Reference](#herocontext-class-reference) - [HeroDebugPlugin Class Reference](#herodebugplugin-class-reference) - [Parser Class Reference](#parser-class-reference) - [VariableNode Class Reference](#variablenode-class-reference) - [HeroExtension Class Reference](#heroextension-class-reference) - [Lexer Class Reference](#lexer-class-reference) - [Enumerations Reference](#enumerations-reference) - [PrototypeNode Class Reference](#prototypenode-class-reference) - [CascadeDirection Enumeration Reference](#cascadedirection-enumeration-reference) - [HeroCoordinateSpace Enumeration Reference](#herocoordinatespace-enumeration-reference) - [HeroModifier Class Reference](#heromodifier-class-reference) - [HeroTransition Class Reference](#herotransition-class-reference) - [HeroDefaultAnimationType Enumeration Reference](#herodefaultanimationtype-enumeration-reference) - [NumberNode Class Reference](#numbernode-class-reference) - [HeroPlugin Class Reference](#heroplugin-class-reference) - [Direction Enumeration Reference](#direction-enumeration-reference) - [Strategy Enumeration Reference](#strategy-enumeration-reference) - [HeroSnapshotType Enumeration Reference](#herosnapshottype-enumeration-reference) - [HeroTransitionState Enumeration Reference](#herotransitionstate-enumeration-reference) - [ParseError Enumeration Reference](#parseerror-enumeration-reference) - [HeroViewOrderingStrategy Enumeration Reference](#herovieworderingstrategy-enumeration-reference) - [Token Enumeration Reference](#token-enumeration-reference) - [CATransform3D Extension Reference](#catransform3d-extension-reference) - [UINavigationController Extension Reference](#uinavigationcontroller-extension-reference) - [Extensions Reference](#extensions-reference) - [CAMediaTimingFunction Extension Reference](#camediatimingfunction-extension-reference) - [HeroDebugView Extension Reference](#herodebugview-extension-reference) - [UITabBarController Extension Reference](#uitabbarcontroller-extension-reference) - [String Extension Reference](#string-extension-reference) - [UIView Extension Reference](#uiview-extension-reference) - [Functions Reference](#functions-reference) - [UIViewController Extension Reference](#uiviewcontroller-extension-reference) - [Protocols Reference](#protocols-reference) - [HeroAnimator Protocol Reference](#heroanimator-protocol-reference) - [HeroCustomSnapshotView Protocol Reference](#herocustomsnapshotview-protocol-reference) - [HeroCompatible Protocol Reference](#herocompatible-protocol-reference) - [HeroPreprocessor Protocol Reference](#heropreprocessor-protocol-reference) - [HeroTransitionDelegate Protocol Reference](#herotransitiondelegate-protocol-reference) - [HeroStringConvertible Protocol Reference](#herostringconvertible-protocol-reference) - [HeroProgressUpdateObserver Protocol Reference](#heroprogressupdateobserver-protocol-reference) - [Structures Reference](#structures-reference) - [HeroViewControllerDelegate Protocol Reference](#heroviewcontrollerdelegate-protocol-reference) - [HeroTargetState Structure Reference](#herotargetstate-structure-reference) - [HeroConditionalContext Structure Reference](#heroconditionalcontext-structure-reference) --- # Hero Reference ![](https://cdn.rawgit.com/lkzhao/Hero/427d5f2/Resources/Hero.svg) **Hero** is a library for building iOS view controller transitions. It provides a declarative layer on top of the UIKit’s cumbersome transition APIs—making custom transitions an easy task for developers. [![Carthage compatible](https://img.shields.io/badge/Carthage-Compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage) [![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) [![codecov](https://codecov.io/gh/HeroTransitions/Hero/branch/develop/graph/badge.svg)](https://codecov.io/gh/HeroTransitions/Hero) [![Version](https://img.shields.io/cocoapods/v/Hero.svg?style=flat)](http://cocoapods.org/pods/Hero) [![License](https://img.shields.io/cocoapods/l/Hero.svg?style=flat)](https://github.com/lkzhao/Hero/blob/master/LICENSE?raw=true) ![Xcode 9.0+](https://img.shields.io/badge/Xcode-9.0%2B-blue.svg) ![iOS 8.0+](https://img.shields.io/badge/iOS-8.0%2B-blue.svg) ![Swift 4.0+](https://img.shields.io/badge/Swift-4.0%2B-orange.svg) [![中文 README](https://img.shields.io/badge/%E4%B8%AD%E6%96%87-README-blue.svg?style=flat)](https://github.com/lkzhao/Hero/blob/master/README.zh-cn.md) [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=NT5F7Y2MPV7RE) ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/features.svg)       ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/features2.svg) Hero is similar to Keynote’s **Magic Move**. It checks the `heroID` property on all source and destination views. Every matched view pair is then automatically transitioned from its old state to its new state. Hero can also construct animations for unmatched views. It is easy to define these animations via the `heroModifiers` property. Hero will run these animations alongside the **Magic Move** animations. All of these animations can be **interactively controlled** by user gestures. At view controller level, Hero provides several template transitions that you can set through `heroModalAnimationType`, `heroNavigationAnimationType`, and `heroTabBarAnimationType`. These can be used as the foundation of your custom transitions. Combine with `heroID` & `heroModifiers` to make your own unique transitions. ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/defaultAnimations.svg)       ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/defaultAnimations2.svg) By default, Hero provides **dynamic duration** based on the [Material Design Motion Guide](https://material.io/design/motion/speed.html#easing) . Duration is automatically determined by changes to distance and size—saving you the hassle, while providing consistent and delightful animations. Hero doesn’t make any assumptions about how the view is built or structured. It won’t modify any of your views’ states other than hiding them during the animation. This makes it work with **Auto Layout**, **programmatic layout**, **UICollectionView** (without modifying its layout object), **UITableView**, **UINavigationController**, **UITabBarController**, etc… Usage Example 1 --------------- ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/simple.svg) ### View Controller 1 redView.hero.id = "ironMan" blackView.hero.id = "batMan" ### View Controller 2 self.hero.isEnabled = true redView.hero.id = "ironMan" blackView.hero.id = "batMan" whiteView.hero.modifiers = [.translate(y:100)] Usage Example 2 --------------- ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/advanced.svg) ### View Controller 1 greyView.hero.id = "skyWalker" ### View Controller 2 self.hero.isEnabled = true greyView.hero.id = "skyWalker" // collectionView is the parent view of all red cells collectionView.hero.modifiers = [.cascade] for cell in redCells { cell.hero.modifiers = [.fade, .scale(0.5)] } You can do these in the **storyboard** too! ![](https://cdn.rawgit.com/lkzhao/Hero/master/Resources/storyboardView.png) ![](https://cdn.rawgit.com/lkzhao/Hero/master/Resources/storyboardViewController.png) Installation ------------ ### CocoaPods Add the following entry to your Podfile: pod 'Hero' Then run `pod install`. Don’t forget to `import Hero` in every file you’d like to use Hero. ### Carthage Add the following entry to your `Cartfile`: github "HeroTransitions/Hero" Then run `carthage update`. If this is your first time using Carthage in the project, you’ll need to go through some additional steps as explained [over at Carthage](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) . ### Accio Add the following to your `Package.swift`: .package(url: "https://github.com/HeroTransitions/Hero.git", .upToNextMajor(from: "1.4.0")), Next, add `[Hero](Classes/Hero.html) ` to your App targets dependencies like so: .target( name: "App", dependencies: [\ "Hero",\ ] ), Then run `accio update`. ### Swift Package Manager To integrate using Apple’s Swift package manager, add the following as a dependency to your `Package.swift`: .package(url: "https://github.com/HeroTransitions/Hero.git", .upToNextMajor(from: "1.3.0")) and then specify `"Hero"` as a dependency of the Target in which you wish to use Hero. Here’s an example `PackageDescription`: // swift-tools-version:4.0 import PackageDescription let package = Package( name: "MyPackage", products: [\ .library(\ name: "MyPackage",\ targets: ["MyPackage"]),\ ], dependencies: [\ .package(url: "https://github.com/HeroTransitions/Hero.git", .upToNextMajor(from: "1.6.2"))\ ], targets: [\ .target(\ name: "MyPackage",\ dependencies: ["Hero"])\ ] ) ### Manually * Drag the **Sources** folder anywhere in your project. Documentations -------------- Checkout the **[WIKI PAGES (Usage Guide)](https://github.com/lkzhao/Hero/wiki/Usage-Guide) ** for documentations. For more up-to-date ones, please see the header-doc. (use **alt+click** in Xcode) ![](https://cdn.rawgit.com/lkzhao/Hero/master/Resources/headerDoc.png) Interactive Transition Tutorials -------------------------------- [Interactive transitions with Hero (Part 1)](https://lkzhao.gitbooks.io/hero/content/docs/InteractiveTransition.html) FAQ --- ### Not able to use Hero transition even when `self.hero.isEnabled` is set to true Make sure that you have also enabled `self.hero.isEnabled` on the navigation controller if you are doing a push/pop inside the navigation controller. ### Views being covered by another matched view during the transition Matched views use global coordinate space while unmatched views use local coordinate space by default. Local coordinate spaced views might be covered by other global coordinate spaced views. To solve this, use the `useGlobalCoordinateSpace` modifier on the views being covered. Checkout [Coordinate Space Wiki page](https://github.com/lkzhao/Hero/wiki/Coordinate-Space) for details. ### Push animation is shown along side my custom animation This is the default animation for navigation controller provided by Hero. To disable the push animation, set `self.hero.navigationAnimationType` to `.fade` or `.none` on the navigation controller. ### How do I use a different default animation when dismissing You can use the animation type `.selectBy(presenting:dismissing)` to specify a different default animation for dismiss. For example: self.hero.modalAnimationType = .selectBy(presenting:.zoom, dismissing:.zoomOut) Contribute ---------- We welcome any contributions. Please read the [Contribution Guide](https://github.com/lkzhao/Hero/wiki/Contribution-Guide) . --- # BinaryOpNode Class Reference BinaryOpNode ============ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L43-L54) * `[lhs](#/s:4Hero12BinaryOpNodeC3lhsAA04ExprD0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L44) * `[rhs](#/s:4Hero12BinaryOpNodeC3rhsAA04ExprD0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L45) * `[description](#/s:4Hero12BinaryOpNodeC11descriptionSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L46-L48) * `[init(name:lhs:rhs:)](#/s:4Hero12BinaryOpNodeC4name3lhs3rhsACSS_AA04ExprD0CAHtcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L49-L53) --- # Hero Reference ![](https://cdn.rawgit.com/lkzhao/Hero/427d5f2/Resources/Hero.svg) **Hero** is a library for building iOS view controller transitions. It provides a declarative layer on top of the UIKit’s cumbersome transition APIs—making custom transitions an easy task for developers. [![Carthage compatible](https://img.shields.io/badge/Carthage-Compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage) [![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) [![codecov](https://codecov.io/gh/HeroTransitions/Hero/branch/develop/graph/badge.svg)](https://codecov.io/gh/HeroTransitions/Hero) [![Version](https://img.shields.io/cocoapods/v/Hero.svg?style=flat)](http://cocoapods.org/pods/Hero) [![License](https://img.shields.io/cocoapods/l/Hero.svg?style=flat)](https://github.com/lkzhao/Hero/blob/master/LICENSE?raw=true) ![Xcode 9.0+](https://img.shields.io/badge/Xcode-9.0%2B-blue.svg) ![iOS 8.0+](https://img.shields.io/badge/iOS-8.0%2B-blue.svg) ![Swift 4.0+](https://img.shields.io/badge/Swift-4.0%2B-orange.svg) [![中文 README](https://img.shields.io/badge/%E4%B8%AD%E6%96%87-README-blue.svg?style=flat)](https://github.com/lkzhao/Hero/blob/master/README.zh-cn.md) [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=NT5F7Y2MPV7RE) ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/features.svg)       ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/features2.svg) Hero is similar to Keynote’s **Magic Move**. It checks the `heroID` property on all source and destination views. Every matched view pair is then automatically transitioned from its old state to its new state. Hero can also construct animations for unmatched views. It is easy to define these animations via the `heroModifiers` property. Hero will run these animations alongside the **Magic Move** animations. All of these animations can be **interactively controlled** by user gestures. At view controller level, Hero provides several template transitions that you can set through `heroModalAnimationType`, `heroNavigationAnimationType`, and `heroTabBarAnimationType`. These can be used as the foundation of your custom transitions. Combine with `heroID` & `heroModifiers` to make your own unique transitions. ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/defaultAnimations.svg)       ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/defaultAnimations2.svg) By default, Hero provides **dynamic duration** based on the [Material Design Motion Guide](https://material.io/design/motion/speed.html#easing) . Duration is automatically determined by changes to distance and size—saving you the hassle, while providing consistent and delightful animations. Hero doesn’t make any assumptions about how the view is built or structured. It won’t modify any of your views’ states other than hiding them during the animation. This makes it work with **Auto Layout**, **programmatic layout**, **UICollectionView** (without modifying its layout object), **UITableView**, **UINavigationController**, **UITabBarController**, etc… Usage Example 1 --------------- ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/simple.svg) ### View Controller 1 redView.hero.id = "ironMan" blackView.hero.id = "batMan" ### View Controller 2 self.hero.isEnabled = true redView.hero.id = "ironMan" blackView.hero.id = "batMan" whiteView.hero.modifiers = [.translate(y:100)] Usage Example 2 --------------- ![](https://cdn.rawgit.com/lkzhao/Hero/ebb3f2c/Resources/advanced.svg) ### View Controller 1 greyView.hero.id = "skyWalker" ### View Controller 2 self.hero.isEnabled = true greyView.hero.id = "skyWalker" // collectionView is the parent view of all red cells collectionView.hero.modifiers = [.cascade] for cell in redCells { cell.hero.modifiers = [.fade, .scale(0.5)] } You can do these in the **storyboard** too! ![](https://cdn.rawgit.com/lkzhao/Hero/master/Resources/storyboardView.png) ![](https://cdn.rawgit.com/lkzhao/Hero/master/Resources/storyboardViewController.png) Installation ------------ ### CocoaPods Add the following entry to your Podfile: pod 'Hero' Then run `pod install`. Don’t forget to `import Hero` in every file you’d like to use Hero. ### Carthage Add the following entry to your `Cartfile`: github "HeroTransitions/Hero" Then run `carthage update`. If this is your first time using Carthage in the project, you’ll need to go through some additional steps as explained [over at Carthage](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) . ### Accio Add the following to your `Package.swift`: .package(url: "https://github.com/HeroTransitions/Hero.git", .upToNextMajor(from: "1.4.0")), Next, add `[Hero](Classes/Hero.html) ` to your App targets dependencies like so: .target( name: "App", dependencies: [\ "Hero",\ ] ), Then run `accio update`. ### Swift Package Manager To integrate using Apple’s Swift package manager, add the following as a dependency to your `Package.swift`: .package(url: "https://github.com/HeroTransitions/Hero.git", .upToNextMajor(from: "1.3.0")) and then specify `"Hero"` as a dependency of the Target in which you wish to use Hero. Here’s an example `PackageDescription`: // swift-tools-version:4.0 import PackageDescription let package = Package( name: "MyPackage", products: [\ .library(\ name: "MyPackage",\ targets: ["MyPackage"]),\ ], dependencies: [\ .package(url: "https://github.com/HeroTransitions/Hero.git", .upToNextMajor(from: "1.6.2"))\ ], targets: [\ .target(\ name: "MyPackage",\ dependencies: ["Hero"])\ ] ) ### Manually * Drag the **Sources** folder anywhere in your project. Documentations -------------- Checkout the **[WIKI PAGES (Usage Guide)](https://github.com/lkzhao/Hero/wiki/Usage-Guide) ** for documentations. For more up-to-date ones, please see the header-doc. (use **alt+click** in Xcode) ![](https://cdn.rawgit.com/lkzhao/Hero/master/Resources/headerDoc.png) Interactive Transition Tutorials -------------------------------- [Interactive transitions with Hero (Part 1)](https://lkzhao.gitbooks.io/hero/content/docs/InteractiveTransition.html) FAQ --- ### Not able to use Hero transition even when `self.hero.isEnabled` is set to true Make sure that you have also enabled `self.hero.isEnabled` on the navigation controller if you are doing a push/pop inside the navigation controller. ### Views being covered by another matched view during the transition Matched views use global coordinate space while unmatched views use local coordinate space by default. Local coordinate spaced views might be covered by other global coordinate spaced views. To solve this, use the `useGlobalCoordinateSpace` modifier on the views being covered. Checkout [Coordinate Space Wiki page](https://github.com/lkzhao/Hero/wiki/Coordinate-Space) for details. ### Push animation is shown along side my custom animation This is the default animation for navigation controller provided by Hero. To disable the push animation, set `self.hero.navigationAnimationType` to `.fade` or `.none` on the navigation controller. ### How do I use a different default animation when dismissing You can use the animation type `.selectBy(presenting:dismissing)` to specify a different default animation for dismiss. For example: self.hero.modalAnimationType = .selectBy(presenting:.zoom, dismissing:.zoomOut) Contribute ---------- We welcome any contributions. Please read the [Contribution Guide](https://github.com/lkzhao/Hero/wiki/Contribution-Guide) . --- # CallNode Class Reference CallNode ======== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L56-L65) * `[arguments](#/s:4Hero8CallNodeC9argumentsSayAA04ExprC0CGvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L57) * `[description](#/s:4Hero8CallNodeC11descriptionSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L58-L60) * `[init(name:arguments:)](#/s:4Hero8CallNodeC4name9argumentsACSS_SayAA04ExprC0CGtcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L61-L64) --- # Classes Reference Classes ======= The following classes are available globally. * `[HeroDebugPlugin](#/c:@M@Hero@objc(cs)HeroDebugPlugin) ` Undocumented [See more](Classes/HeroDebugPlugin.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Debug Plugin/HeroDebugPlugin.swift#L27-L74) * `[HeroExtension](#/s:4Hero0A9ExtensionC) ` Undocumented [See more](Classes/HeroExtension.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L39-L45) * `[HeroContext](#/s:4Hero0A7ContextC) ` Undocumented [See more](Classes/HeroContext.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L27-L81) * `[HeroModifier](#/s:4Hero0A8ModifierC) ` Undocumented [See more](Classes/HeroModifier.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L28-L33) * `[HeroPlugin](#/c:@M@Hero@objc(cs)HeroPlugin) ` Undocumented [See more](Classes/HeroPlugin.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L27-L133) * `[Lexer](#/s:4Hero5LexerC) ` Undocumented [See more](Classes/Lexer.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L30-L63) * `[ExprNode](#/s:4Hero8ExprNodeC) ` Undocumented [See more](Classes/ExprNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L11-L20) * `[NumberNode](#/s:4Hero10NumberNodeC) ` Undocumented [See more](Classes/NumberNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L26-L35) * `[VariableNode](#/s:4Hero12VariableNodeC) ` Undocumented [See more](Classes/VariableNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L37-L41) * `[BinaryOpNode](#/s:4Hero12BinaryOpNodeC) ` Undocumented [See more](Classes/BinaryOpNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L43-L54) * `[CallNode](#/s:4Hero8CallNodeC) ` Undocumented [See more](Classes/CallNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L56-L65) * `[PrototypeNode](#/s:4Hero13PrototypeNodeC) ` Undocumented [See more](Classes/PrototypeNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L67-L76) * `[FunctionNode](#/s:4Hero12FunctionNodeC) ` Undocumented [See more](Classes/FunctionNode.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L78-L89) * `[Parser](#/s:4Hero6ParserC) ` Undocumented [See more](Classes/Parser.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L21-L167) * `[HeroTransition](#/c:@M@Hero@objc(cs)HeroTransition) ` Undocumented [See more](Classes/HeroTransition.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L53-L215) * `[Hero](#/c:@M@Hero@objc(cs)Hero) ` ### The singleton class/object for controlling interactive transitions. Hero.shared #### Use the following methods for controlling the interactive transition: func update(progress:Double) func end() func cancel() func apply(modifiers:[HeroModifier], to view:UIView) [See more](Classes/Hero.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L43-L46) * `[HeroDebugPlugin](#/) ` [See more](Classes/HeroDebugPlugin.html) --- # ExprNode Class Reference ExprNode ======== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L11-L20) * `[range](#/s:4Hero8ExprNodeC5rangeSnySiGvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L12) * `[name](#/s:4Hero8ExprNodeC4nameSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L13) * `[description](#/s:s23CustomStringConvertibleP11descriptionSSvp) ` #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L14-L16) * `[init(name:)](#/s:4Hero8ExprNodeC4nameACSS_tcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L17-L19) --- # FunctionNode Class Reference FunctionNode ============ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L78-L89) * `[prototype](#/s:4Hero12FunctionNodeC9prototypeAA09PrototypeC0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L79) * `[body](#/s:4Hero12FunctionNodeC4bodyAA04ExprC0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L80) * `[description](#/s:4Hero12FunctionNodeC11descriptionSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L81-L83) * `[init(prototype:body:)](#/s:4Hero12FunctionNodeC9prototype4bodyAcA09PrototypeC0C_AA04ExprC0Ctcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L84-L88) --- # Hero Class Reference Hero ==== ### The singleton class/object for controlling interactive transitions. Hero.shared #### Use the following methods for controlling the interactive transition: func update(progress:Double) func end() func cancel() func apply(modifiers:[HeroModifier], to view:UIView) [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L43-L46) * `[shared](#/s:4HeroAAC6sharedAA0A10TransitionCvpZ) ` Shared singleton object for controlling the transition #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L45) --- # HeroContext Class Reference HeroContext =========== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L27-L81) * `[container](#/s:4Hero0A7ContextC9containerSo6UIViewCvp) ` The container holding all of the animating views #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L70) * `[fromViews](#/s:4Hero0A7ContextC9fromViewsSaySo6UIViewCGvp) ` A flattened list of all views from source ViewController #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L75) * `[toViews](#/s:4Hero0A7ContextC7toViewsSaySo6UIViewCGvp) ` A flattened list of all views from destination ViewController #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L80) * `[sourceView(for:)](#/s:4Hero0A7ContextC10sourceView3forSo6UIViewCSgSS_tF) ` #### Declaration #### Return Value a source view matching the heroID, nil if not found [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L89-L91) * `[destinationView(for:)](#/s:4Hero0A7ContextC15destinationView3forSo6UIViewCSgSS_tF) ` #### Declaration #### Return Value a destination view matching the heroID, nil if not found [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L96-L98) * `[pairedView(for:)](#/s:4Hero0A7ContextC10pairedView3forSo6UIViewCSgAG_tF) ` #### Declaration #### Return Value a view with the same heroID, but on different view controller, nil if not found [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L103-L112) * `[snapshotView(for:)](#/s:4Hero0A7ContextC12snapshotView3forSo6UIViewCAG_tF) ` #### Declaration #### Return Value a snapshot view for animation [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L117-L307) * `[subscript(_:)](#/s:4Hero0A7ContextCyAA0A11TargetStateVSgSo6UIViewCcip) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L318-L325) * `[clean()](#/s:4Hero0A7ContextC5cleanyyF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L327-L333) * `[hide(view:)](#/s:4Hero0A7ContextC4hide4viewySo6UIViewC_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L338-L348) * `[unhide(view:)](#/s:4Hero0A7ContextC6unhide4viewySo6UIViewC_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L349-L358) --- # HeroDebugPlugin Class Reference HeroDebugPlugin =============== * `[showOnTop](#/) ` * `[animate(fromViews:toViews:)](#/) ` * `[resume(timePassed:reverse:)](#/) ` * `[clean()](#/) ` * `[onDone()](#/) ` * `[onProcessSliderChanged(progress:)](#/) ` --- # Parser Class Reference Parser ====== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L21-L167) * `[init(tokens:)](#/s:4Hero6ParserC6tokensACSayAA5TokenOG_tcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L25-L27) * `[parse()](#/s:4Hero6ParserC5parseSayAA8ExprNodeCGyKF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L156-L166) --- # VariableNode Class Reference VariableNode ============ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L37-L41) * `[description](#/s:4Hero12VariableNodeC11descriptionSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L38-L40) --- # HeroExtension Class Reference HeroExtension ============= Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L39-L45) * `[base](#/s:4Hero0A9ExtensionC4basexvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L40) [](#/Available%20where%20%60Base%60%3A%20%60UIView%60) ### Available where `Base`: `UIView` * `[id](#/s:4Hero0A9ExtensionCAASo6UIViewCRbzlE2idSSSgvp) ` **ID** is the identifier for the view. When doing a transition between two view controllers, Hero will search through all the subviews for both view controllers and matches views with the same **heroID**. Whenever a pair is discovered, Hero will automatically transit the views from source state to the destination state. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L54-L57) * `[isEnabled](#/s:4Hero0A9ExtensionCAASo6UIViewCRbzlE9isEnabledSbvp) ` **isEnabled** allows to specify whether a view and its subviews should be consider for animations. If true, Hero will search through all the subviews for heroIds and modifiers. Defaults to true #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L63-L66) * `[isEnabledForSubviews](#/s:4Hero0A9ExtensionCAASo6UIViewCRbzlE20isEnabledForSubviewsSbvp) ` **isEnabledForSubviews** allows to specify whether a view’s subviews should be consider for animations. If true, Hero will search through all the subviews for heroIds and modifiers. Defaults to true #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L72-L75) * `[modifiers](#/s:4Hero0A9ExtensionCAASo6UIViewCRbzlE9modifiersSayAA0A8ModifierCGSgvp) ` Use **modifiers** to specify animations alongside the main transition. Checkout `HeroModifier.swift` for available modifiers. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L80-L83) * `[modifierString](#/s:4Hero0A9ExtensionCAASo6UIViewCRbzlE14modifierStringSSSgvp) ` modifierString\*\* provides another way to set **modifiers**. It can be assigned through storyboard. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L88-L91) [](#/Available%20where%20%60Base%60%3A%20%60UIViewController%60) ### Available where `Base`: `UIViewController` * `[modalAnimationType](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE18modalAnimationTypeAA0a7DefaultfG0Ovp) ` default hero animation type for presenting & dismissing modally #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L59-L62) * `[modalAnimationTypeString](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE24modalAnimationTypeStringSSSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L65-L68) * `[isEnabled](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE9isEnabledSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L71-L97) [](#/Available%20where%20%60Base%60%3A%20%60UINavigationController%60) ### Available where `Base`: `UINavigationController` * `[navigationAnimationType](#/s:4Hero0A9ExtensionCAASo22UINavigationControllerCRbzlE23navigationAnimationTypeAA0a7DefaultfG0Ovp) ` default hero animation type for push and pop within the navigation controller #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L149-L152) * `[navigationAnimationTypeString](#/s:4Hero0A9ExtensionCAASo22UINavigationControllerCRbzlE29navigationAnimationTypeStringSSSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L154-L157) [](#/Available%20where%20%60Base%60%3A%20%60UITabBarController%60) ### Available where `Base`: `UITabBarController` * `[tabBarAnimationType](#/s:4Hero0A9ExtensionCAASo18UITabBarControllerCRbzlE03tabD13AnimationTypeAA0a7DefaultgH0Ovp) ` default hero animation type for switching tabs within the tab bar controller #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L188-L191) * `[tabBarAnimationTypeString](#/s:4Hero0A9ExtensionCAASo18UITabBarControllerCRbzlE03tabD19AnimationTypeStringSSSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L193-L196) [](#/Available%20where%20%60Base%60%3A%20%60UIViewController%602) ### Available where `Base`: `UIViewController` * `[dismissViewController(completion:)](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE011dismissViewD010completionyyycSg_tF) ` Dismiss the current view controller with animation. Will perform a navigationController.popViewController if the current view controller is contained inside a navigationController #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L220-L226) * `[unwindToRootViewController()](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE016unwindToRootViewD0yyF) ` Unwind to the root view controller using Hero #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L231-L233) * `[unwindToViewController(_:)](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE012unwindToViewD0yyAEF) ` Unwind to a specific view controller using Hero #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L238-L240) * `[unwindToViewController(withSelector:)](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE012unwindToViewD012withSelectory10ObjectiveC0I0V_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L242-L244) * `[unwindToViewController(withClass:)](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE012unwindToViewD09withClassyyXlXp_tF) ` Unwind to a view controller with given class using Hero #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L249-L251) * `[unwindToViewController(withMatchBlock:)](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE012unwindToViewD014withMatchBlockySbAEXE_tF) ` Unwind to a view controller that the matchBlock returns true on. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L256-L305) * `[replaceViewController(with:completion:)](#/s:4Hero0A9ExtensionCAASo16UIViewControllerCRbzlE011replaceViewD04with10completionyAE_yycSgtF) ` Replace the current view controller with another VC on the navigation/modal/root view of UIWindow stack. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L310-L341) --- # Lexer Class Reference Lexer ===== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L30-L63) * `[init(input:)](#/s:4Hero5LexerC5inputACSS_tcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L32-L34) * `[tokenize()](#/s:4Hero5LexerC8tokenizeSayAA5TokenOGyF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L35-L62) --- # Enumerations Reference Enumerations ============ The following enumerations are available globally. * `[HeroSnapshotType](#/s:4Hero0A12SnapshotTypeO) ` Undocumented [See more](Enums/HeroSnapshotType.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L27-L44) * `[HeroCoordinateSpace](#/s:4Hero0A15CoordinateSpaceO) ` Undocumented [See more](Enums/HeroCoordinateSpace.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L46-L49) * `[HeroViewOrderingStrategy](#/s:4Hero0A20ViewOrderingStrategyO) ` Undocumented [See more](Enums/HeroViewOrderingStrategy.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L48-L50) * `[Token](#/s:4Hero5TokenO) ` Undocumented [See more](Enums/Token.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L11-L18) * `[ParseError](#/s:4Hero10ParseErrorO) ` Undocumented [See more](Enums/ParseError.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L11-L19) * `[CascadeDirection](#/s:4Hero16CascadeDirectionO) ` Undocumented [See more](Enums/CascadeDirection.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L29-L99) * `[HeroDefaultAnimationType](#/s:4Hero0A20DefaultAnimationTypeO) ` Undocumented [See more](Enums/HeroDefaultAnimationType.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L27-L182) * `[HeroTransitionState](#/s:4Hero0A15TransitionStateO) ` Undocumented [See more](Enums/HeroTransitionState.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L25-L41) --- # PrototypeNode Class Reference PrototypeNode ============= Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L67-L76) * `[argumentNames](#/s:4Hero13PrototypeNodeC13argumentNamesSaySSGvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L68) * `[description](#/s:4Hero13PrototypeNodeC11descriptionSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L69-L71) * `[init(name:argumentNames:)](#/s:4Hero13PrototypeNodeC4name13argumentNamesACSS_SaySSGtcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L72-L75) --- # CascadeDirection Enumeration Reference CascadeDirection ================ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L29-L99) * `[topToBottom](#/s:4Hero16CascadeDirectionO11topToBottomyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L30) * `[bottomToTop](#/s:4Hero16CascadeDirectionO11bottomToTopyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L31) * `[leftToRight](#/s:4Hero16CascadeDirectionO11leftToRightyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L32) * `[rightToLeft](#/s:4Hero16CascadeDirectionO11rightToLeftyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L33) * `[radial(center:)](#/s:4Hero16CascadeDirectionO6radialyACSo7CGPointV_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L34) * `[inverseRadial(center:)](#/s:4Hero16CascadeDirectionO13inverseRadialyACSo7CGPointV_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L35) * `[leadingToTrailing](#/s:4Hero16CascadeDirectionO17leadingToTrailingACvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L76-L78) * `[trailingToLeading](#/s:4Hero16CascadeDirectionO17trailingToLeadingACvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/CascadePreprocessor.swift#L80-L82) --- # HeroCoordinateSpace Enumeration Reference HeroCoordinateSpace =================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L46-L49) * `[global](#/s:4Hero0A15CoordinateSpaceO6globalyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L47) * `[local](#/s:4Hero0A15CoordinateSpaceO5localyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L48) --- # HeroModifier Class Reference HeroModifier ============ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L28-L33) * `[init(applyFunction:)](#/s:4Hero0A8ModifierC13applyFunctionACyAA0A11TargetStateVzc_tcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L30-L32) * `[beginWith(_:)](#/s:4Hero0A8ModifierC9beginWithyACSayACGFZ) ` Apply modifiers directly to the view at the start of the transition. The modifiers supplied here won’t be animated. For source views, modifiers are set directly at the beginning of the animation. For destination views, they replace the target state (final appearance). #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L34-L41) * `[beginWith(modifiers:)](#/s:4Hero0A8ModifierC9beginWith9modifiersACSayACG_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L43-L45) * `[beginWith(_:)](#/s:4Hero0A8ModifierC9beginWithyA2Cd_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L47-L49) * `[useGlobalCoordinateSpace](#/s:4Hero0A8ModifierC24useGlobalCoordinateSpaceACvpZ) ` Use global coordinate space. When using global coordinate space. The view become a independent view that is not a subview of any view. It won’t move when its parent view moves, and won’t be affected by parent view’s attributes. When a view is matched, this is automatically enabled. The `source` modifier will also enable this. Global coordinate space is default for all views prior to version 0.1.3 #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L62) * `[ignoreSubviewModifiers](#/s:4Hero0A8ModifierC22ignoreSubviewModifiersACvpZ) ` ignore all heroModifiers attributes for a view’s direct subviews. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L69) * `[ignoreSubviewModifiers(recursive:)](#/s:4Hero0A8ModifierC22ignoreSubviewModifiers9recursiveACSb_tFZ) ` ignore all heroModifiers attributes for a view’s subviews. * recursive: if false, will only ignore direct subviews’ modifiers. default false. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L76-L80) * `[useOptimizedSnapshot](#/s:4Hero0A8ModifierC20useOptimizedSnapshotACvpZ) ` Will create snapshot optimized for different view type. For custom views or views with masking, useOptimizedSnapshot might create snapshots that appear differently than the actual view. In that case, use .useNormalSnapshot or .useSlowRenderSnapshot to disable the optimization. This modifier actually does nothing by itself since .useOptimizedSnapshot is the default. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L90) * `[useNormalSnapshot](#/s:4Hero0A8ModifierC17useNormalSnapshotACvpZ) ` Create snapshot using snapshotView(afterScreenUpdates:). #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L97) * `[useLayerRenderSnapshot](#/s:4Hero0A8ModifierC22useLayerRenderSnapshotACvpZ) ` Create snapshot using layer.render(in: currentContext). This is slower than .useNormalSnapshot but gives more accurate snapshot for some views (eg. UIStackView). #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L105) * `[useNoSnapshot](#/s:4Hero0A8ModifierC13useNoSnapshotACvpZ) ` Force Hero to not create any snapshot when animating this view. This will mess up the view hierarchy, therefore, view controllers have to rebuild its view structure after the transition finishes. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L114) * `[forceAnimate](#/s:4Hero0A8ModifierC12forceAnimateACvpZ) ` Force the view to animate. By default, Hero will not animate if the view is outside the screen bounds or if there is no animatable hero modifier, unless this modifier is used. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L123) * `[useScaleBasedSizeChange](#/s:4Hero0A8ModifierC23useScaleBasedSizeChangeACvpZ) ` Force Hero use scale based size animation. This will convert all .size modifier into .scale modifier. This is to help Hero animate layers that doesn’t support bounds animation. Also gives better performance. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+Advanced.swift#L131) * `[from(node:)](#/s:4Hero0A8ModifierC4from4nodeACSgAA8ExprNodeC_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier+HeroStringConvertible.swift#L29-L127) * `[fade](#/s:4Hero0A8ModifierC4fadeACvpZ) ` Fade the view during transition #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L40) * `[forceNonFade](#/s:4Hero0A8ModifierC12forceNonFadeACvpZ) ` Force don’t fade view during transition #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L47) * `[position(_:)](#/s:4Hero0A8ModifierC8positionyACSo7CGPointVFZ) ` Set the position for the view to animate from/to. * position: position for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L56-L60) * `[size(_:)](#/s:4Hero0A8ModifierC4sizeyACSo6CGSizeVFZ) ` Set the size for the view to animate from/to. * size: size for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L67-L71) * `[transform(_:)](#/s:4Hero0A8ModifierC9transformyACSo13CATransform3DVFZ) ` Set the transform for the view to animate from/to. Will override previous perspective, scale, translate, & rotate modifiers * t: the CATransform3D object #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L81-L85) * `[perspective(_:)](#/s:4Hero0A8ModifierC11perspectiveyAC14CoreFoundation7CGFloatVFZ) ` Set the perspective on the transform. use in combination with the rotate modifier. * perspective: set the camera distance of the transform #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L92-L98) * `[scale(x:y:z:)](#/s:4Hero0A8ModifierC5scale1x1y1zAC14CoreFoundation7CGFloatV_A2JtFZ) ` Scale 3d * x: scale factor on x axis, default 1 * y: scale factor on y axis, default 1 * z: scale factor on z axis, default 1 #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L107-L111) * `[scale(_:)](#/s:4Hero0A8ModifierC5scaleyAC14CoreFoundation7CGFloatVFZ) ` Scale in x & y axis * xy: scale factor in both x & y axis #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L118-L120) * `[translate(x:y:z:)](#/s:4Hero0A8ModifierC9translate1x1y1zAC14CoreFoundation7CGFloatV_A2JtFZ) ` Translate 3d * x: translation distance on x axis in display pixel, default 0 * y: translation distance on y axis in display pixel, default 0 * z: translation distance on z axis in display pixel, default 0 #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L129-L133) * `[translate(_:z:)](#/s:4Hero0A8ModifierC9translate_1zACSo7CGPointV_14CoreFoundation7CGFloatVtFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L135-L137) * `[rotate(x:y:z:)](#/s:4Hero0A8ModifierC6rotate1x1y1zAC14CoreFoundation7CGFloatV_A2JtFZ) ` Rotate 3d * x: rotation on x axis in radian, default 0 * y: rotation on y axis in radian, default 0 * z: rotation on z axis in radian, default 0 #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L146-L152) * `[rotate(_:z:)](#/s:4Hero0A8ModifierC6rotate_1zACSo7CGPointV_14CoreFoundation7CGFloatVtFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L154-L156) * `[rotate(_:)](#/s:4Hero0A8ModifierC6rotateyAC14CoreFoundation7CGFloatVFZ) ` Rotate 2d * z: rotation in radian #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L163-L165) [](#/UIKit) ### UIKit * `[backgroundColor(_:)](#/s:4Hero0A8ModifierC15backgroundColoryACSo7UIColorCFZ) ` Set the backgroundColor for the view to animate from/to. * backgroundColor: backgroundColor for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L175-L179) * `[borderColor(_:)](#/s:4Hero0A8ModifierC11borderColoryACSo7UIColorCFZ) ` Set the borderColor for the view to animate from/to. * borderColor: borderColor for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L186-L190) * `[shadowColor(_:)](#/s:4Hero0A8ModifierC11shadowColoryACSo7UIColorCFZ) ` Set the shadowColor for the view to animate from/to. * shadowColor: shadowColor for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L197-L201) * `[overlay(color:opacity:)](#/s:4Hero0A8ModifierC7overlay5color7opacityACSo7UIColorC_14CoreFoundation7CGFloatVtFZ) ` Create an overlay on the animating view. * color: color of the overlay * opacity: opacity of the overlay #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L209-L213) * `[opacity(_:)](#/s:4Hero0A8ModifierC7opacityyAC14CoreFoundation7CGFloatVFZ) ` Set the opacity for the view to animate from/to. * opacity: opacity for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L222-L226) * `[cornerRadius(_:)](#/s:4Hero0A8ModifierC12cornerRadiusyAC14CoreFoundation7CGFloatVFZ) ` Set the cornerRadius for the view to animate from/to. * cornerRadius: cornerRadius for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L233-L237) * `[zPosition(_:)](#/s:4Hero0A8ModifierC9zPositionyAC14CoreFoundation7CGFloatVFZ) ` Set the zPosition for the view to animate from/to. * zPosition: zPosition for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L244-L248) * `[contentsRect(_:)](#/s:4Hero0A8ModifierC12contentsRectyACSo6CGRectVFZ) ` Set the contentsRect for the view to animate from/to. * contentsRect: contentsRect for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L255-L259) * `[contentsScale(_:)](#/s:4Hero0A8ModifierC13contentsScaleyAC14CoreFoundation7CGFloatVFZ) ` Set the contentsScale for the view to animate from/to. * contentsScale: contentsScale for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L266-L270) * `[borderWidth(_:)](#/s:4Hero0A8ModifierC11borderWidthyAC14CoreFoundation7CGFloatVFZ) ` Set the borderWidth for the view to animate from/to. * borderWidth: borderWidth for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L277-L281) * `[shadowOpacity(_:)](#/s:4Hero0A8ModifierC13shadowOpacityyAC14CoreFoundation7CGFloatVFZ) ` Set the shadowOpacity for the view to animate from/to. * shadowOpacity: shadowOpacity for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L288-L292) * `[shadowOffset(_:)](#/s:4Hero0A8ModifierC12shadowOffsetyACSo6CGSizeVFZ) ` Set the shadowOffset for the view to animate from/to. * shadowOffset: shadowOffset for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L299-L303) * `[shadowRadius(_:)](#/s:4Hero0A8ModifierC12shadowRadiusyAC14CoreFoundation7CGFloatVFZ) ` Set the shadowRadius for the view to animate from/to. * shadowRadius: shadowRadius for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L310-L314) * `[shadowPath(_:)](#/s:4Hero0A8ModifierC10shadowPathyACSo9CGPathRefaFZ) ` Set the shadowPath for the view to animate from/to. * shadowPath: shadowPath for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L321-L325) * `[masksToBounds(_:)](#/s:4Hero0A8ModifierC13masksToBoundsyACSbFZ) ` Set the masksToBounds for the view to animate from/to. * masksToBounds: masksToBounds for the view to animate from/to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L332-L336) * `[duration(_:)](#/s:4Hero0A8ModifierC8durationyACSdFZ) ` Sets the duration of the animation for a given view. If not used, Hero will use determine the duration based on the distance and size changes. * duration: duration of the animation Note: a duration of .infinity means matching the duration of the longest animation. same as .durationMatchLongest #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L348-L352) * `[durationMatchLongest](#/s:4Hero0A8ModifierC20durationMatchLongestACvpZ) ` Sets the duration of the animation for a given view to match the longest animation of the transition. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L357) * `[delay(_:)](#/s:4Hero0A8ModifierC5delayyACSdFZ) ` Sets the delay of the animation for a given view. * delay: delay of the animation #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L366-L370) * `[timingFunction(_:)](#/s:4Hero0A8ModifierC14timingFunctionyACSo013CAMediaTimingD0CFZ) ` Sets the timing function of the animation for a given view. If not used, Hero will use determine the timing function based on whether or not the view is entering or exiting the screen. * timingFunction: timing function of the animation #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L377-L381) * `[spring(stiffness:damping:)](#/s:4Hero0A8ModifierC6spring9stiffness7dampingAC14CoreFoundation7CGFloatV_AItFZ) ` (iOS 9+) Use spring animation with custom stiffness & damping. The duration will be automatically calculated. Will be ignored if arc, timingFunction, or duration is set. * stiffness: stiffness of the spring * damping: damping of the spring #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L390-L394) * `[source(heroID:)](#/s:4Hero0A8ModifierC6source6heroIDACSS_tFZ) ` Transition from/to the state of the view with matching heroID Will also force the view to use global coordinate space. The following layer properties will be animated from the given view. position bounds.size cornerRadius transform shadowColor shadowOpacity shadowOffset shadowRadius shadowPath Note that the following properties **won’t** be taken from the source view. backgroundColor borderWidth borderColor * heroID: the source view’s heroId. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L424-L428) * `[arc](#/s:4Hero0A8ModifierC3arcACvpZ) ` Works in combination with position modifier to apply a natural curve when moving to the destination. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L433) * `[arc(intensity:)](#/s:4Hero0A8ModifierC3arc9intensityAC14CoreFoundation7CGFloatV_tFZ) ` Works in combination with position modifier to apply a natural curve when moving to the destination. * intensity: a value of 1 represent a downward natural curve ╰. a value of -1 represent a upward curve ╮. default is 1. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L441-L445) * `[cascade](#/s:4Hero0A8ModifierC7cascadeACvpZ) ` Cascade applys increasing delay modifiers to subviews #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L450) * `[cascade(delta:direction:delayMatchedViews:)](#/s:4Hero0A8ModifierC7cascade5delta9direction17delayMatchedViewsACSd_AA16CascadeDirectionOSbtFZ) ` Cascade applys increasing delay modifiers to subviews * delta: delay in between each animation * direction: cascade direction * delayMatchedViews: whether or not to delay matched subviews until all cascading animation have started #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L459-L465) * `[when(_:_:)](#/s:4Hero0A8ModifierC4whenyACSbAA0A18ConditionalContextVc_SayACGtFZ) ` Apply modifiers only if the condition return true. #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L473-L480) * `[when(_:_:)](#/s:4Hero0A8ModifierC4whenyACSbAA0A18ConditionalContextVc_ACdtFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L482-L484) * `[whenMatched(_:)](#/s:4Hero0A8ModifierC11whenMatchedyA2Cd_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L486-L488) * `[whenPresenting(_:)](#/s:4Hero0A8ModifierC14whenPresentingyA2Cd_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L490-L492) * `[whenDismissing(_:)](#/s:4Hero0A8ModifierC14whenDismissingyA2Cd_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L494-L496) * `[whenAppearing(_:)](#/s:4Hero0A8ModifierC13whenAppearingyA2Cd_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L498-L500) * `[whenDisappearing(_:)](#/s:4Hero0A8ModifierC16whenDisappearingyA2Cd_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroModifier.swift#L502-L504) --- # HeroTransition Class Reference HeroTransition ============== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L53-L215) * `[delegate](#/s:4Hero0A10TransitionC8delegateAA0aB8Delegate_pSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L54) * `[defaultAnimation](#/s:4Hero0A10TransitionC16defaultAnimationAA0a7DefaultD4TypeOvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L56) * `[containerColor](#/s:4Hero0A10TransitionC14containerColorSo7UIColorCvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L57) * `[isUserInteractionEnabled](#/s:4Hero0A10TransitionC24isUserInteractionEnabledSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L58) * `[viewOrderingStrategy](#/s:4Hero0A10TransitionC20viewOrderingStrategyAA0a4ViewdE0Ovp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L59) * `[defaultAnimationDirectionStrategy](#/s:4Hero0A10TransitionC33defaultAnimationDirectionStrategyAA0a7DefaultD4TypeO0F0Ovp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L60) * `[state](#/s:4Hero0A10TransitionC5stateAA0aB5StateOvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L62-L70) * `[isTransitioning](#/s:4Hero0A10TransitionC15isTransitioningSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L72) * `[isPresenting](#/s:4Hero0A10TransitionC12isPresentingSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L73) * `[transitioning](#/s:4Hero0A10TransitionC13transitioningSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L76-L78) * `[presenting](#/s:4Hero0A10TransitionC10presentingSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L80-L82) * `[container](#/s:4Hero0A10TransitionC9containerSo6UIViewCSgvp) ` container we created to hold all animating views, will be a subview of the transitionContainer when transitioning #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L86) * `[toViewController](#/s:4Hero0A10TransitionC16toViewControllerSo06UIViewE0CSgvp) ` destination view controller #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L106) * `[fromViewController](#/s:4Hero0A10TransitionC18fromViewControllerSo06UIViewE0CSgvp) ` source view controller #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L108) * `[context](#/s:4Hero0A10TransitionC7contextAA0A7ContextCSgvp) ` context object holding transition informations #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L111) * `[interactive](#/s:4Hero0A10TransitionC11interactiveSbvp) ` whether or not we are handling transition interactively #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L114-L116) * `[totalDuration](#/s:4Hero0A10TransitionC13totalDurationSdvp) ` max duration needed by the animators #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L121) * `[progress](#/s:4Hero0A10TransitionC8progressSdvp) ` progress of the current transition. 0 if no transition is happening #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L124-L148) * `[init()](#/c:@M@Hero@objc(cs)HeroTransition(im)init) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L183) [](#/Observe%20Progress) ### Observe Progress * `[observeForProgressUpdate(observer:)](#/s:4Hero0A10TransitionC24observeForProgressUpdate8observeryAA0aeF8Observer_p_tF) ` Receive callbacks on each animation frame. Observers will be cleaned when transition completes * observer: the observer #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L209-L214) * `[animate()](#/s:4Hero0A10TransitionC7animateyyF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Animate.swift#L27-L81) * `[complete(finished:)](#/s:4Hero0A10TransitionC8complete8finishedySb_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Complete.swift#L28-L168) * `[transition(from:to:in:completion:)](#/s:4Hero0A10TransitionC10transition4from2to2in10completionySo16UIViewControllerC_AJSo0H0CySbcSgtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+CustomTransition.swift#L29-L41) * `[update(_:)](#/s:4Hero0A10TransitionC6updateyy14CoreFoundation7CGFloatVF) ` Update the progress for the interactive transition. * progress: the current progress, must be between 0…1 #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Interactive.swift#L33-L40) * `[finish(animate:)](#/s:4Hero0A10TransitionC6finish7animateySb_tF) ` Finish the interactive transition. Will stop the interactive transition and animate from the current state to the **end** state #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Interactive.swift#L47-L59) * `[cancel(animate:)](#/s:4Hero0A10TransitionC6cancel7animateySb_tF) ` Cancel the interactive transition. Will stop the interactive transition and animate from the current state to the **beginning** state #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Interactive.swift#L66-L82) * `[apply(modifiers:to:)](#/s:4Hero0A10TransitionC5apply9modifiers2toySayAA0A8ModifierCG_So6UIViewCtF) ` Override modifiers during an interactive animation. For example: Hero.shared.apply(\[.position(x:50, y:50)\], to:view) will set the view’s position to 50, 50 * modifiers: the modifiers to override * view: the view to override to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Interactive.swift#L96-L107) * `[changeTarget(modifiers:isDestination:to:)](#/s:4Hero0A10TransitionC12changeTarget9modifiers13isDestination2toySayAA0A8ModifierCG_SbSo6UIViewCtF) ` Override target state during an interactive animation. For example: Hero.shared.changeTarget(\[.position(x:50, y:50)\], to:view) will animate the view’s position to 50, 50 once `[finish(animate:)](../Classes/HeroTransition.html#/s:4Hero0A10TransitionC6finish7animateySb_tF) ` is called * modifiers: the modifiers to override * isDestination: if false, it changes the starting state * view: the view to override to #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Interactive.swift#L122-L133) * `[start()](#/s:4Hero0A10TransitionC5startyyF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+Start.swift#L28-L192) * `[navigationController(_:willShow:animated:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)navigationController:willShowViewController:animated:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UINavigationControllerDelegate.swift#L28-L32) * `[navigationController(_:didShow:animated:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)navigationController:didShowViewController:animated:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UINavigationControllerDelegate.swift#L34-L38) * `[navigationController(_:animationControllerFor:from:to:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)navigationController:animationControllerForOperation:fromViewController:toViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UINavigationControllerDelegate.swift#L40-L48) * `[navigationController(_:interactionControllerFor:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)navigationController:interactionControllerForAnimationController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UINavigationControllerDelegate.swift#L50-L52) * `[tabBarController(_:shouldSelect:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)tabBarController:shouldSelectViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UITabBarControllerDelegate.swift#L28-L36) * `[tabBarController(_:interactionControllerFor:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)tabBarController:interactionControllerForAnimationController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UITabBarControllerDelegate.swift#L38-L40) * `[tabBarController(_:animationControllerForTransitionFrom:to:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)tabBarController:animationControllerForTransitionFromViewController:toViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UITabBarControllerDelegate.swift#L42-L52) * `[animationController(forPresented:presenting:source:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)animationControllerForPresentedController:presentingController:sourceController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L32-L39) * `[animationController(forDismissed:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)animationControllerForDismissedController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L41-L47) * `[interactionControllerForDismissal(using:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)interactionControllerForDismissal:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L49-L51) * `[interactionControllerForPresentation(using:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)interactionControllerForPresentation:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L53-L55) * `[animateTransition(using:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)animateTransition:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L59-L65) * `[transitionDuration(using:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)transitionDuration:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L66-L68) * `[animationEnded(_:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)animationEnded:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L70-L72) * `[wantsInteractiveStart](#/c:@CM@Hero@objc(cs)HeroTransition(py)wantsInteractiveStart) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L76-L78) * `[startInteractiveTransition(_:)](#/c:@CM@Hero@objc(cs)HeroTransition(im)startInteractiveTransition:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition+UIViewControllerTransitioningDelegate.swift#L79-L81) --- # HeroDefaultAnimationType Enumeration Reference HeroDefaultAnimationType ======================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L27-L182) * `[Direction](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO) ` Undocumented [See more](../Enums/HeroDefaultAnimationType/Direction.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L28-L57) * `[Strategy](#/s:4Hero0A20DefaultAnimationTypeO8StrategyO) ` Undocumented [See more](../Enums/HeroDefaultAnimationType/Strategy.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L59-L71) * `[auto](#/s:4Hero0A20DefaultAnimationTypeO4autoyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L73) * `[push(direction:)](#/s:4Hero0A20DefaultAnimationTypeO4pushyA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L74) * `[pull(direction:)](#/s:4Hero0A20DefaultAnimationTypeO4pullyA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L75) * `[cover(direction:)](#/s:4Hero0A20DefaultAnimationTypeO5coveryA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L76) * `[uncover(direction:)](#/s:4Hero0A20DefaultAnimationTypeO7uncoveryA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L77) * `[slide(direction:)](#/s:4Hero0A20DefaultAnimationTypeO5slideyA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L78) * `[zoomSlide(direction:)](#/s:4Hero0A20DefaultAnimationTypeO9zoomSlideyA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L79) * `[pageIn(direction:)](#/s:4Hero0A20DefaultAnimationTypeO6pageInyA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L80) * `[pageOut(direction:)](#/s:4Hero0A20DefaultAnimationTypeO7pageOutyA2C9DirectionO_tcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L81) * `[fade](#/s:4Hero0A20DefaultAnimationTypeO4fadeyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L82) * `[zoom](#/s:4Hero0A20DefaultAnimationTypeO4zoomyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L83) * `[zoomOut](#/s:4Hero0A20DefaultAnimationTypeO7zoomOutyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L84) * `[selectBy(presenting:dismissing:)](#/s:4Hero0A20DefaultAnimationTypeO8selectByyA2C_ACtcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L86) * `[autoReverse(presenting:)](#/s:4Hero0A20DefaultAnimationTypeO11autoReverse10presentingA2C_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L88-L90) * `[none](#/s:4Hero0A20DefaultAnimationTypeO4noneyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L92) * `[label](#/s:4Hero0A20DefaultAnimationTypeO5labelSSSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L170-L181) * `[from(node:)](#/s:4Hero0A20DefaultAnimationTypeO4from4nodeACSgAA8ExprNodeC_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L185-L238) --- # NumberNode Class Reference NumberNode ========== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L26-L35) * `[value](#/s:4Hero10NumberNodeC5valueSfvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L27) * `[description](#/s:4Hero10NumberNodeC11descriptionSSvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L28-L30) * `[init(value:)](#/s:4Hero10NumberNodeC5valueACSf_tcfc) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L31-L34) --- # HeroPlugin Class Reference HeroPlugin ========== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L27-L133) * `[hero](#/s:4Hero0A6PluginC4heroAA0A10TransitionCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L29) * `[context](#/s:4Hero0A6PluginC7contextAA0A7ContextCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L31-L33) * `[requirePerFrameCallback](#/s:4Hero0A6PluginC23requirePerFrameCallbackSbvp) ` Determines whether or not to receive `seekTo` callback on every frame. Default is false. When **requirePerFrameCallback** is **false**, the plugin needs to start its own animations inside `animate` & `resume` The `seekTo` method is only being called during an interactive transition. When **requirePerFrameCallback** is **true**, the plugin will receive `seekTo` callback on every animation frame. Hence it is possible for the plugin to do per-frame animations without implementing `animate` & `resume` #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L45) * `[init()](#/c:@M@Hero@objc(cs)HeroPlugin(im)init) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L47) * `[process(fromViews:toViews:)](#/s:4Hero0A6PluginC7process9fromViews02toE0ySaySo6UIViewCG_AItF) ` Called before any animation. Override this method when you want to preprocess modifiers for views To check a view’s modifiers: context[view] context[view, "modifierName"] To set a view’s modifiers: context[view] = [("modifier1", ["parameter1"]), ("modifier2", [])] context[view, "modifier1"] = ["parameter1", "parameter2"] #### Declaration #### Parameters | | | | --- | --- | | `_context_` | object holding all parsed and changed modifiers, | | `_fromViews_` | A flattened list of all views from source ViewController | | `_toViews_` | A flattened list of all views from destination ViewController | [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L68) * `[canAnimate(view:appearing:)](#/s:4Hero0A6PluginC10canAnimate4view9appearingSbSo6UIViewC_SbtF) ` #### Declaration #### Parameters | | | | --- | --- | | `_context_` | object holding all parsed and changed modifiers, | | `_view_` | the view to check whether or not the plugin can handle the animation | | `_appearing_` | true if the view is appearing(i.e. a view in destination ViewController) If return true, Hero won’t animate and won’t let any other plugins animate this view. The view will also be hidden automatically during the animation. | #### Return Value return true if the plugin can handle animating the view. [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L79) * `[animate(fromViews:toViews:)](#/s:4Hero0A6PluginC7animate9fromViews02toE0SdSaySo6UIViewCG_AItF) ` Perform the animation. Note: views in `fromViews` & `toViews` are hidden already. Unhide then if you need to take snapshots. #### Declaration #### Parameters | | | | --- | --- | | `_context_` | object holding all parsed and changed modifiers, | | `_fromViews_` | A flattened list of all views from source ViewController (filtered by `canAnimate`) | | `_toViews_` | A flattened list of all views from destination ViewController (filtered by `canAnimate`) | #### Return Value The duration needed to complete the animation [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L92) * `[clean()](#/s:4Hero0A6PluginC5cleanyyF) ` Called when all animations are completed. Should perform cleanup and release any reference #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L99) * `[seekTo(timePassed:)](#/s:4Hero0A6PluginC6seekTo10timePassedySd_tF) ` For supporting interactive animation only. This method is called when an interactive animation is in place The plugin should pause the animation, and seek to the given progress #### Declaration #### Parameters | | | | --- | --- | | `_timePassed_` | time of the animation to seek to. | [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L109) * `[resume(timePassed:reverse:)](#/s:4Hero0A6PluginC6resume10timePassed7reverseS2d_SbtF) ` For supporting interactive animation only. This method is called when an interactive animation is ended The plugin should resume the animation. * timePassed: will be the same value since last `seekTo` * reverse: a boolean value indicating whether or not the animation should reverse #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L120) * `[apply(state:to:)](#/s:4Hero0A6PluginC5apply5state2toyAA0A11TargetStateV_So6UIViewCtF) ` For supporting interactive animation only. This method is called when user wants to override animation modifiers during an interactive animation #### Declaration #### Parameters | | | | --- | --- | | `_state_` | the target state to override | | `_view_` | the view to override | [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L131) * `[changeTarget(state:isDestination:to:)](#/s:4Hero0A6PluginC12changeTarget5state13isDestination2toyAA0aD5StateV_SbSo6UIViewCtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L132) * `[isEnabled](#/s:4Hero0A6PluginC9isEnabledSbvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L137-L148) * `[enable()](#/s:4Hero0A6PluginC6enableyyFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L149-L151) * `[disable()](#/s:4Hero0A6PluginC7disableyyFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroPlugin.swift#L152-L154) --- # Direction Enumeration Reference Direction ========= Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L28-L57) * `[left](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO4leftyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L29) * `[right](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO5rightyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L29) * `[up](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO2upyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L29) * `[down](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO4downyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L29) * `[from(node:)](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO4from4nodeAESgAA8ExprNodeC_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L30-L40) * `[leadingToTrailing](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO17leadingToTrailingAA07CascadeE0OvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L42-L44) * `[trailingToLeading](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO17trailingToLeadingAA07CascadeE0OvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L46-L48) * `[leading](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO7leadingAEvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L50-L52) * `[trailing](#/s:4Hero0A20DefaultAnimationTypeO9DirectionO8trailingAEvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L54-L56) --- # Strategy Enumeration Reference Strategy ======== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L59-L71) * `[forceLeftToRight](#/s:4Hero0A20DefaultAnimationTypeO8StrategyO16forceLeftToRightyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L60) * `[forceRightToLeft](#/s:4Hero0A20DefaultAnimationTypeO8StrategyO16forceRightToLeftyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L60) * `[userInterface](#/s:4Hero0A20DefaultAnimationTypeO8StrategyO13userInterfaceyA2EmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/DefaultAnimationPreprocessor.swift#L60) --- # HeroSnapshotType Enumeration Reference HeroSnapshotType ================ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L27-L44) * `[optimized](#/s:4Hero0A12SnapshotTypeO9optimizedyA2CmF) ` Will optimize for different type of views For custom views or views with masking, .optimizedDefault might create snapshots that appear differently than the actual view. In that case, use .normal or .slowRender to disable the optimization #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L32) * `[normal](#/s:4Hero0A12SnapshotTypeO6normalyA2CmF) ` snapshotView(afterScreenUpdates:) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L35) * `[layerRender](#/s:4Hero0A12SnapshotTypeO11layerRenderyA2CmF) ` layer.render(in: currentContext) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L38) * `[noSnapshot](#/s:4Hero0A12SnapshotTypeO02noB0yA2CmF) ` will not create snapshot. animate the view directly. This will mess up the view hierarchy, therefore, view controllers have to rebuild its view structure after the transition finishes #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L43) --- # HeroTransitionState Enumeration Reference HeroTransitionState =================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L25-L41) * `[possible](#/s:4Hero0A15TransitionStateO8possibleyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L27) * `[notified](#/s:4Hero0A15TransitionStateO8notifiedyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L31) * `[starting](#/s:4Hero0A15TransitionStateO8startingyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L34) * `[animating](#/s:4Hero0A15TransitionStateO9animatingyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L37) * `[completing](#/s:4Hero0A15TransitionStateO10completingyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransitionState.swift#L40) --- # ParseError Enumeration Reference ParseError ========== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L11-L19) * `[unexpectToken](#/s:4Hero10ParseErrorO13unexpectTokenyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L12) * `[undefinedOperator(_:)](#/s:4Hero10ParseErrorO17undefinedOperatoryACSScACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L13) * `[expectCharacter(_:)](#/s:4Hero10ParseErrorO15expectCharacteryACSJcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L15) * `[expectExpression](#/s:4Hero10ParseErrorO16expectExpressionyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L16) * `[expectArgumentList](#/s:4Hero10ParseErrorO18expectArgumentListyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L17) * `[expectFunctionName](#/s:4Hero10ParseErrorO18expectFunctionNameyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Parser.swift#L18) --- # HeroViewOrderingStrategy Enumeration Reference HeroViewOrderingStrategy ======================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L48-L50) * `[auto](#/s:4Hero0A20ViewOrderingStrategyO4autoyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L49) * `[sourceViewOnTop](#/s:4Hero0A20ViewOrderingStrategyO06sourceB5OnTopyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L49) * `[destinationViewOnTop](#/s:4Hero0A20ViewOrderingStrategyO011destinationB5OnTopyA2CmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L49) --- # Token Enumeration Reference Token ===== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L11-L18) * `[identifier(_:_:)](#/s:4Hero5TokenO10identifieryACSS_SnySiGtcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L12) * `[number(_:_:)](#/s:4Hero5TokenO6numberyACSf_SnySiGtcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L13) * `[parensOpen(_:)](#/s:4Hero5TokenO10parensOpenyACSnySiGcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L14) * `[parensClose(_:)](#/s:4Hero5TokenO11parensCloseyACSnySiGcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L15) * `[comma(_:)](#/s:4Hero5TokenO5commayACSnySiGcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L16) * `[other(_:_:)](#/s:4Hero5TokenO5otheryACSS_SnySiGtcACmF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Lexer.swift#L17) --- # CATransform3D Extension Reference CATransform3D ============= * `[==(_:_:)](#/s:SQ2eeoiySbx_xtFZ) ` #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CG+Hero.swift#L151-L155) --- # UINavigationController Extension Reference UINavigationController ====================== * `[Operation](#/) ` --- # Extensions Reference Extensions ========== The following extensions are available globally. * `[CAMediaTimingFunction](#/c:objc(cs)CAMediaTimingFunction) ` [See more](Extensions/CAMediaTimingFunction.html) #### Declaration * `[CATransform3D](#/c:@S@CATransform3D) ` [See more](Extensions/CATransform3D.html) #### Declaration * `[UIView](#/c:objc(cs)UIView) ` [See more](Extensions/UIView.html) #### Declaration * `[UIViewController](#/c:objc(cs)UIViewController) ` [See more](Extensions/UIViewController.html) #### Declaration * `[UINavigationController](#/c:objc(cs)UINavigationController) ` [See more](Extensions/UINavigationController.html) #### Declaration * `[UITabBarController](#/c:objc(cs)UITabBarController) ` [See more](Extensions/UITabBarController.html) #### Declaration * `[String](#/s:SS) ` [See more](Extensions/String.html) #### Declaration * `[UINavigationController](#/) ` [See more](Extensions/UINavigationController.html) * `[HeroDebugView](#/) ` [See more](Extensions/HeroDebugView.html) --- # CAMediaTimingFunction Extension Reference CAMediaTimingFunction ===================== * `[linear](#/s:So21CAMediaTimingFunctionC4HeroE6linearABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L28) * `[easeIn](#/s:So21CAMediaTimingFunctionC4HeroE6easeInABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L29) * `[easeOut](#/s:So21CAMediaTimingFunctionC4HeroE7easeOutABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L30) * `[easeInOut](#/s:So21CAMediaTimingFunctionC4HeroE9easeInOutABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L31) * `[standard](#/s:So21CAMediaTimingFunctionC4HeroE8standardABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L34) * `[deceleration](#/s:So21CAMediaTimingFunctionC4HeroE12decelerationABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L35) * `[acceleration](#/s:So21CAMediaTimingFunctionC4HeroE12accelerationABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L36) * `[sharp](#/s:So21CAMediaTimingFunctionC4HeroE5sharpABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L37) * `[easeOutBack](#/s:So21CAMediaTimingFunctionC4HeroE11easeOutBackABvpZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L40) * `[from(name:)](#/s:So21CAMediaTimingFunctionC4HeroE4from4nameABSgSS_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/CAMediaTimingFunction+Hero.swift#L42-L63) --- # HeroDebugView Extension Reference HeroDebugView ============= * `[gestureRecognizerShouldBegin(_:)](#/) ` --- # UITabBarController Extension Reference UITabBarController ================== * `[heroTabBarAnimationType](#/s:So18UITabBarControllerC4HeroE07heroTabB13AnimationTypeAC0d7DefaultgH0Ovp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L201-L204) * `[heroTabBarAnimationTypeString](#/c:@CM@Hero@@objc(cs)UITabBarController(py)heroTabBarAnimationTypeString) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L208-L211) --- # String Extension Reference String ====== * `[match(regex:)](#/s:SS4HeroE5match5regexSS_SnySiGtSgSS_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Regex.swift#L13-L31) --- # UIView Extension Reference UIView ====== * `[heroID](#/c:@CM@Hero@@objc(cs)UIView(py)heroID) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L122-L125) * `[isHeroEnabled](#/c:@CM@Hero@@objc(cs)UIView(py)isHeroEnabled) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L129-L132) * `[isHeroEnabledForSubviews](#/c:@CM@Hero@@objc(cs)UIView(py)isHeroEnabledForSubviews) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L136-L139) * `[heroModifiers](#/s:So6UIViewC4HeroE13heroModifiersSayAC0B8ModifierCGSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L142-L145) * `[heroModifierString](#/c:@CM@Hero@@objc(cs)UIView(py)heroModifierString) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIView+Hero.swift#L149-L152) --- # Functions Reference Functions ========= The following functions are available globally. * `[==(_:_:)](#/s:4Hero2eeoiySbAA8ExprNodeC_ADtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/Nodes.swift#L22-L24) --- # UIViewController Extension Reference UIViewController ================ * `[heroModalAnimationType](#/s:So16UIViewControllerC4HeroE22heroModalAnimationTypeAC0c7DefaultfG0Ovp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L128-L131) * `[heroModalAnimationTypeString](#/c:@CM@Hero@@objc(cs)UIViewController(py)heroModalAnimationTypeString) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L134-L137) * `[isHeroEnabled](#/c:@CM@Hero@@objc(cs)UIViewController(py)isHeroEnabled) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L140-L143) * `[ht_dismiss(_:)](#/c:@CM@Hero@@objc(cs)UIViewController(im)ht_dismiss:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L346-L348) * `[heroReplaceViewController(with:)](#/s:So16UIViewControllerC4HeroE015heroReplaceViewB04withyAB_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L351-L353) * `[hero_dismissViewController()](#/c:@CM@Hero@@objc(cs)UIViewController(im)hero_dismissViewController) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L357-L359) * `[hero_unwindToRootViewController()](#/c:@CM@Hero@@objc(cs)UIViewController(im)hero_unwindToRootViewController) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L363-L365) * `[hero_unwindToViewController(_:)](#/s:So16UIViewControllerC4HeroE017hero_unwindToViewB0yyABF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L368-L370) * `[hero_unwindToViewController(withSelector:)](#/s:So16UIViewControllerC4HeroE017hero_unwindToViewB012withSelectory10ObjectiveC0I0V_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L373-L375) * `[hero_unwindToViewController(withClass:)](#/s:So16UIViewControllerC4HeroE017hero_unwindToViewB09withClassyyXlXp_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L378-L380) * `[hero_unwindToViewController(withMatchBlock:)](#/s:So16UIViewControllerC4HeroE017hero_unwindToViewB014withMatchBlockySbABXE_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L383-L385) * `[hero_replaceViewController(with:)](#/s:So16UIViewControllerC4HeroE016hero_replaceViewB04withyAB_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Extensions/UIViewController+Hero.swift#L388-L390) --- # Protocols Reference Protocols ========= The following protocols are available globally. * `[HeroCompatible](#/s:4Hero0A10CompatibleP) ` Undocumented [See more](Protocols/HeroCompatible.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L25-L29) * `[HeroCustomSnapshotView](#/s:4Hero0A18CustomSnapshotViewP) ` Allows a view to create their own custom snapshot when using **Optimized** snapshot [See more](Protocols/HeroCustomSnapshotView.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L420-L422) * `[HeroPreprocessor](#/s:4Hero0A12PreprocessorP) ` Undocumented [See more](Protocols/HeroPreprocessor.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L27-L30) * `[HeroAnimator](#/s:4Hero0A8AnimatorP) ` Undocumented [See more](Protocols/HeroAnimator.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L32-L42) * `[HeroProgressUpdateObserver](#/s:4Hero0A22ProgressUpdateObserverP) ` Undocumented [See more](Protocols/HeroProgressUpdateObserver.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L44-L46) * `[HeroViewControllerDelegate](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate) ` Undocumented [See more](Protocols/HeroViewControllerDelegate.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L27-L39) * `[HeroStringConvertible](#/s:4Hero0A17StringConvertibleP) ` Undocumented [See more](Protocols/HeroStringConvertible.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/HeroStringConvertible.swift#L25-L27) * `[HeroTransitionDelegate](#/s:4Hero0A18TransitionDelegateP) ` Undocumented [See more](Protocols/HeroTransitionDelegate.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L48-L51) --- # HeroAnimator Protocol Reference HeroAnimator ============ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L32-L42) * `[hero](#/s:4Hero0A8AnimatorP4heroAA0A10TransitionCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L33) * `[canAnimate(view:appearing:)](#/s:4Hero0A8AnimatorP10canAnimate4view9appearingSbSo6UIViewC_SbtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L34) * `[animate(fromViews:toViews:)](#/s:4Hero0A8AnimatorP7animate9fromViews02toE0SdSaySo6UIViewCG_AItF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L35) * `[clean()](#/s:4Hero0A8AnimatorP5cleanyyF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L36) * `[seekTo(timePassed:)](#/s:4Hero0A8AnimatorP6seekTo10timePassedySd_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L38) * `[resume(timePassed:reverse:)](#/s:4Hero0A8AnimatorP6resume10timePassed7reverseS2d_SbtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L39) * `[apply(state:to:)](#/s:4Hero0A8AnimatorP5apply5state2toyAA0A11TargetStateV_So6UIViewCtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L40) * `[changeTarget(state:isDestination:to:)](#/s:4Hero0A8AnimatorP12changeTarget5state13isDestination2toyAA0aD5StateV_SbSo6UIViewCtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L41) --- # HeroCustomSnapshotView Protocol Reference HeroCustomSnapshotView ====================== Allows a view to create their own custom snapshot when using **Optimized** snapshot [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L420-L422) * `[heroSnapshot](#/s:4Hero0A18CustomSnapshotViewP04heroC0So6UIViewCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroContext.swift#L421) --- # HeroCompatible Protocol Reference HeroCompatible ============== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L25-L29) * `[CompatibleType](#/s:4Hero0A10CompatibleP0B4TypeQa) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L26) * `[hero](#/s:4Hero0A10CompatibleP4heroAA0A9ExtensionCy0B4TypeQzGvp)` Default implementation Undocumented #### Default Implementation Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroCompatible.swift#L28) --- # HeroPreprocessor Protocol Reference HeroPreprocessor ================ Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L27-L30) * `[hero](#/s:4Hero0A12PreprocessorP4heroAA0A10TransitionCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L28) * `[process(fromViews:toViews:)](#/s:4Hero0A12PreprocessorP7process9fromViews02toE0ySaySo6UIViewCG_AItF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L29) --- # HeroTransitionDelegate Protocol Reference HeroTransitionDelegate ====================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L48-L51) * `[heroTransition(_:didUpdate:)](#/s:4Hero0A18TransitionDelegateP04heroB0_9didUpdateyAA0aB0C_AA0aB5StateOtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L49) * `[heroTransition(_:didUpdate:)](#/s:4Hero0A18TransitionDelegateP04heroB0_9didUpdateyAA0aB0C_SdtF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Transition/HeroTransition.swift#L50) --- # HeroStringConvertible Protocol Reference HeroStringConvertible ===================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/HeroStringConvertible.swift#L25-L27) * `[from(node:)](#/s:4Hero0A17StringConvertibleP4from4nodexSgAA8ExprNodeC_tFZ) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Parser/HeroStringConvertible.swift#L26) --- # HeroProgressUpdateObserver Protocol Reference HeroProgressUpdateObserver ========================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L44-L46) * `[heroDidUpdateProgress(progress:)](#/s:4Hero0A22ProgressUpdateObserverP07heroDidcB08progressySd_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTypes.swift#L45) --- # Structures Reference Structures ========== The following structures are available globally. * `[HeroTargetState](#/s:4Hero0A11TargetStateV) ` Undocumented [See more](Structs/HeroTargetState.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L51-L126) * `[HeroConditionalContext](#/s:4Hero0A18ConditionalContextV) ` Undocumented [See more](Structs/HeroConditionalContext.html) #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L27-L75) --- # HeroViewControllerDelegate Protocol Reference HeroViewControllerDelegate ========================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L27-L39) * `[heroWillStartAnimatingFrom(viewController:)](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroWillStartAnimatingFromViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L28) * `[heroDidEndAnimatingFrom(viewController:)](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroDidEndAnimatingFromViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L29) * `[heroDidCancelAnimatingFrom(viewController:)](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroDidCancelAnimatingFromViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L30) * `[heroWillStartTransition()](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroWillStartTransition) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L32) * `[heroDidEndTransition()](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroDidEndTransition) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L33) * `[heroDidCancelTransition()](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroDidCancelTransition) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L34) * `[heroWillStartAnimatingTo(viewController:)](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroWillStartAnimatingToViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L36) * `[heroDidEndAnimatingTo(viewController:)](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroDidEndAnimatingToViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L37) * `[heroDidCancelAnimatingTo(viewController:)](#/c:@M@Hero@objc(pl)HeroViewControllerDelegate(im)heroDidCancelAnimatingToViewController:) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroViewControllerDelegate.swift#L38) --- # HeroTargetState Structure Reference HeroTargetState =============== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L51-L126) * `[beginState](#/s:4Hero0A11TargetStateV05beginC0SayAA0A8ModifierCGSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L52) * `[conditionalModifiers](#/s:4Hero0A11TargetStateV20conditionalModifiersSaySbAA0A18ConditionalContextVc_SayAA0A8ModifierCGtGSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L53) * `[position](#/s:4Hero0A11TargetStateV8positionSo7CGPointVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L55) * `[size](#/s:4Hero0A11TargetStateV4sizeSo6CGSizeVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L56) * `[transform](#/s:4Hero0A11TargetStateV9transformSo13CATransform3DVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L57) * `[opacity](#/s:4Hero0A11TargetStateV7opacitySfSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L58) * `[cornerRadius](#/s:4Hero0A11TargetStateV12cornerRadius14CoreFoundation7CGFloatVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L59) * `[backgroundColor](#/s:4Hero0A11TargetStateV15backgroundColorSo10CGColorRefaSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L60) * `[zPosition](#/s:4Hero0A11TargetStateV9zPosition14CoreFoundation7CGFloatVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L61) * `[anchorPoint](#/s:4Hero0A11TargetStateV11anchorPointSo7CGPointVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L62) * `[contentsRect](#/s:4Hero0A11TargetStateV12contentsRectSo6CGRectVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L64) * `[contentsScale](#/s:4Hero0A11TargetStateV13contentsScale14CoreFoundation7CGFloatVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L65) * `[borderWidth](#/s:4Hero0A11TargetStateV11borderWidth14CoreFoundation7CGFloatVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L67) * `[borderColor](#/s:4Hero0A11TargetStateV11borderColorSo10CGColorRefaSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L68) * `[shadowColor](#/s:4Hero0A11TargetStateV11shadowColorSo10CGColorRefaSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L70) * `[shadowOpacity](#/s:4Hero0A11TargetStateV13shadowOpacitySfSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L71) * `[shadowOffset](#/s:4Hero0A11TargetStateV12shadowOffsetSo6CGSizeVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L72) * `[shadowRadius](#/s:4Hero0A11TargetStateV12shadowRadius14CoreFoundation7CGFloatVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L73) * `[shadowPath](#/s:4Hero0A11TargetStateV10shadowPathSo9CGPathRefaSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L74) * `[masksToBounds](#/s:4Hero0A11TargetStateV13masksToBoundsSbSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L75) * `[displayShadow](#/s:4Hero0A11TargetStateV13displayShadowSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L76) * `[overlay](#/s:4Hero0A11TargetStateV7overlaySo10CGColorRefa5color_14CoreFoundation7CGFloatV7opacitytSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L78) * `[spring](#/s:4Hero0A11TargetStateV6spring14CoreFoundation7CGFloatV_AGtSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L80) * `[delay](#/s:4Hero0A11TargetStateV5delaySdvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L81) * `[duration](#/s:4Hero0A11TargetStateV8durationSdSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L82) * `[timingFunction](#/s:4Hero0A11TargetStateV14timingFunctionSo013CAMediaTimingE0CSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L83) * `[arc](#/s:4Hero0A11TargetStateV3arc14CoreFoundation7CGFloatVSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L85) * `[source](#/s:4Hero0A11TargetStateV6sourceSSSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L86) * `[cascade](#/s:4Hero0A11TargetStateV7cascadeSd_AA16CascadeDirectionOSbtSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L87) * `[ignoreSubviewModifiers](#/s:4Hero0A11TargetStateV22ignoreSubviewModifiersSbSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L89) * `[coordinateSpace](#/s:4Hero0A11TargetStateV15coordinateSpaceAA0a10CoordinateE0OSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L90) * `[useScaleBasedSizeChange](#/s:4Hero0A11TargetStateV23useScaleBasedSizeChangeSbSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L91) * `[snapshotType](#/s:4Hero0A11TargetStateV12snapshotTypeAA0a8SnapshotE0OSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L92) * `[nonFade](#/s:4Hero0A11TargetStateV7nonFadeSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L94) * `[forceAnimate](#/s:4Hero0A11TargetStateV12forceAnimateSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L95) * `[custom](#/s:4Hero0A11TargetStateV6customSDySSypGSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L96) * `[append(_:)](#/s:4Hero0A11TargetStateV6appendyyAA0A8ModifierCF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L102-L104) * `[append(contentsOf:)](#/s:4Hero0A11TargetStateV6append10contentsOfySayAA0A8ModifierCG_tF) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L106-L110) * `[subscript(_:)](#/s:4Hero0A11TargetStateVyypSgSScip) ` #### Declaration #### Return Value custom item for a specific key [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L115-L125) * `[init(arrayLiteral:)](#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc) ` #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/HeroTargetState.swift#L129-L131) --- # HeroConditionalContext Structure Reference HeroConditionalContext ====================== Undocumented [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L27-L75) * `[view](#/s:4Hero0A18ConditionalContextV4viewSo6UIViewCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L29) * `[isAppearing](#/s:4Hero0A18ConditionalContextV11isAppearingSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L31) * `[isPresenting](#/s:4Hero0A18ConditionalContextV12isPresentingSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L33-L35) * `[isInTabbarController](#/s:4Hero0A18ConditionalContextV20isInTabbarControllerSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L36-L38) * `[isInNavbarController](#/s:4Hero0A18ConditionalContextV20isInNavbarControllerSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L39-L41) * `[isMatched](#/s:4Hero0A18ConditionalContextV9isMatchedSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L42-L44) * `[isAncestorViewMatched](#/s:4Hero0A18ConditionalContextV21isAncestorViewMatchedSbvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L45-L47) * `[matchedView](#/s:4Hero0A18ConditionalContextV11matchedViewSo6UIViewCSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L49-L51) * `[matchedAncestorView](#/s:4Hero0A18ConditionalContextV19matchedAncestorViewSo6UIViewC_AFtSgvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L52-L61) * `[fromViewController](#/s:4Hero0A18ConditionalContextV18fromViewControllerSo06UIViewF0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L63-L65) * `[toViewController](#/s:4Hero0A18ConditionalContextV16toViewControllerSo06UIViewF0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L66-L68) * `[currentViewController](#/s:4Hero0A18ConditionalContextV21currentViewControllerSo06UIViewF0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L69-L71) * `[otherViewController](#/s:4Hero0A18ConditionalContextV19otherViewControllerSo06UIViewF0Cvp) ` Undocumented #### Declaration [Show on GitHub](https://github.com/HeroTransitions/Hero/tree/1.6.2//Sources/Preprocessors/ConditionalPreprocessor.swift#L72-L74) ---