@@ -18,31 +18,76 @@ extension AnyTransition {
18
18
return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
19
19
}
20
20
21
+ /// Fade-in transition with duration
22
+ /// - Parameter duration: transition duration, use ease-in-out
23
+ /// - Returns: A transition with duration
24
+ public static func fade( duration: Double ) -> AnyTransition {
25
+ let insertion = AnyTransition . opacity. animation ( . easeInOut( duration: duration) )
26
+ let removal = AnyTransition . identity
27
+ return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
28
+ }
29
+
21
30
/// Flip from left transition
22
31
public static var flipFromLeft : AnyTransition {
23
32
let insertion = AnyTransition . move ( edge: . leading)
24
33
let removal = AnyTransition . identity
25
34
return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
26
35
}
27
36
37
+ /// Flip from left transition with duration
38
+ /// - Parameter duration: transition duration, use ease-in-out
39
+ /// - Returns: A transition with duration
40
+ public static func flipFromLeft( duration: Double ) -> AnyTransition {
41
+ let insertion = AnyTransition . move ( edge: . leading) . animation ( . easeInOut( duration: duration) )
42
+ let removal = AnyTransition . identity
43
+ return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
44
+ }
45
+
28
46
/// Flip from right transition
29
47
public static var flipFromRight : AnyTransition {
30
48
let insertion = AnyTransition . move ( edge: . trailing)
31
49
let removal = AnyTransition . identity
32
50
return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
33
51
}
34
52
53
+ /// Flip from right transition with duration
54
+ /// - Parameter duration: transition duration, use ease-in-out
55
+ /// - Returns: A transition with duration
56
+ public static func flipFromRight( duration: Double ) -> AnyTransition {
57
+ let insertion = AnyTransition . move ( edge: . trailing) . animation ( . easeInOut( duration: duration) )
58
+ let removal = AnyTransition . identity
59
+ return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
60
+ }
61
+
35
62
/// Flip from top transition
36
63
public static var flipFromTop : AnyTransition {
37
64
let insertion = AnyTransition . move ( edge: . top)
38
65
let removal = AnyTransition . identity
39
66
return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
40
67
}
41
68
69
+ /// Flip from top transition with duration
70
+ /// - Parameter duration: transition duration, use ease-in-out
71
+ /// - Returns: A transition with duration
72
+ public static func flipFromTop( duration: Double ) -> AnyTransition {
73
+ let insertion = AnyTransition . move ( edge: . top) . animation ( . easeInOut( duration: duration) )
74
+ let removal = AnyTransition . identity
75
+ return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
76
+ }
77
+
42
78
/// Flip from bottom transition
43
79
public static var flipFromBottom : AnyTransition {
44
80
let insertion = AnyTransition . move ( edge: . bottom)
45
81
let removal = AnyTransition . identity
46
82
return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
47
83
}
84
+
85
+ /// Flip from bottom transition with duration
86
+ /// - Parameter duration: transition duration, use ease-in-out
87
+ /// - Returns: A transition with duration
88
+ public static func flipFromBottom( duration: Double ) -> AnyTransition {
89
+ let insertion = AnyTransition . move ( edge: . bottom) . animation ( . easeInOut( duration: duration) )
90
+ let removal = AnyTransition . identity
91
+ return AnyTransition . asymmetric ( insertion: insertion, removal: removal)
92
+ }
48
93
}
0 commit comments