@@ -171,6 +171,7 @@ public class AnimatedCardsView: UIView {
171
171
if lastIndex < cardCount {
172
172
addNewCardViewWithIndex ( lastIndex, insertOnRear: true )
173
173
}
174
+ frontView. contentVisible ( false )
174
175
175
176
UIView . animateWithDuration ( animationsSpeed*1. 5 , animations: {
176
177
frontView. layer. transform = self . flipDownTransform3D
@@ -198,26 +199,25 @@ extension AnimatedCardsView {
198
199
gestureDirection = velocity. y > 0 ? . Down : . Up
199
200
200
201
case . Changed:
201
- let frontView : BaseCardView ? = cardArray. count > 0 ? cardArray [ 0 ] : nil
202
-
203
202
if gestureDirection == . Down{ // Flip down
204
203
guard currentIndex < cardCount else {
205
204
gesture. enabled = false // Cancel gesture
206
205
return
207
206
}
208
207
208
+ let frontView = cardArray [ 0 ]
209
209
switch percent{
210
210
case 0.0 ..< 1.0 :
211
211
flipTransform3D = CATransform3DRotate ( flipTransform3D, CGFloat ( - M_PI) * percent, 1 , 0 , 0 )
212
- frontView? . layer. transform = flipTransform3D
212
+ frontView. layer. transform = flipTransform3D
213
213
if percent >= 0.5 {
214
- frontView? . contentVisible ( false )
214
+ frontView. contentVisible ( false )
215
215
} else {
216
- frontView? . contentVisible ( true )
216
+ frontView. contentVisible ( true )
217
217
}
218
218
case 1.0 ... CGFloat ( MAXFLOAT) :
219
219
flipTransform3D = CATransform3DRotate ( flipTransform3D, CGFloat ( - M_PI) , 1 , 0 , 0 )
220
- frontView? . layer. transform = flipTransform3D
220
+ frontView. layer. transform = flipTransform3D
221
221
default :
222
222
print ( percent)
223
223
}
@@ -240,10 +240,8 @@ extension AnimatedCardsView {
240
240
case - 1.0 ... 0 :
241
241
if percent <= - 0.5 {
242
242
gestureTempCard!. contentVisible ( true )
243
- gestureTempCard!. layer. borderWidth = gestureTempCard!. frame. width / 100
244
243
} else {
245
244
gestureTempCard!. contentVisible ( false )
246
- gestureTempCard!. layer. borderWidth = 0
247
245
}
248
246
flipTransform3D = CATransform3DRotate ( flipTransform3D, CGFloat ( - M_PI) * ( percent+ 1.0 ) , 1 , 0 , 0 )
249
247
gestureTempCard!. layer. transform = flipTransform3D
@@ -276,9 +274,9 @@ extension AnimatedCardsView {
276
274
277
275
} )
278
276
} else {
279
- let frontView : BaseCardView ? = cardArray. count > 0 ? cardArray [ 0 ] : nil
277
+ let frontView = cardArray [ 0 ]
280
278
UIView . animateWithDuration ( 0.2 , animations: {
281
- frontView? . layer. transform = CATransform3DIdentity
279
+ frontView. layer. transform = CATransform3DIdentity
282
280
} )
283
281
284
282
}
@@ -383,14 +381,13 @@ extension AnimatedCardsView {
383
381
// MARK: Handle Layout
384
382
extension AnimatedCardsView {
385
383
386
- private func relayoutSubView( subView: BaseCardView , relativeIndex: Int , animated: Bool = true , delay: NSTimeInterval = 0 , haveBorderWidth : Bool = true , fadeAndDelete delete: Bool = false ) {
384
+ private func relayoutSubView( subView: BaseCardView , relativeIndex: Int , animated: Bool = true , delay: NSTimeInterval = 0 , fadeAndDelete delete: Bool = false ) {
387
385
let width = cardSize. width
388
386
let height = cardSize. height
389
387
subView. layer. anchorPoint = CGPointMake ( 0.5 , 1 )
390
388
subView. layer. zPosition = CGFloat ( 1000 - relativeIndex)
391
389
392
390
let sizeScale = calculateWidthScaleForIndex ( relativeIndex)
393
- let borderWidth : CGFloat = width * sizeScale / 100
394
391
395
392
let filterWidthSubViewConstraints = subView. constraints. filter ( { $0. firstAttribute == . Width && $0. secondItem == nil } )
396
393
if filterWidthSubViewConstraints. count > 0 {
@@ -411,8 +408,6 @@ extension AnimatedCardsView {
411
408
centerYConstraint. constant = subViewHeight/ 2 - YOffset
412
409
}
413
410
414
- subView. layer. borderWidth = haveBorderWidth ? borderWidth : 0
415
-
416
411
UIView . animateWithDuration ( animated ? animationsSpeed : 0 , delay: delay, options: . BeginFromCurrentState, animations: {
417
412
subView. alpha = delete ? 0 : self . calculateAlphaForIndex ( relativeIndex)
418
413
self . layoutIfNeeded ( )
@@ -515,11 +510,5 @@ extension AnimatedCardsView {
515
510
516
511
return alpha
517
512
}
518
-
519
- private func calculateBorderWidthForIndex( indexInQueue: Int , initialBorderWidth: CGFloat ) -> CGFloat {
520
- let scaleFactor = calculateScaleFactorForIndex ( indexInQueue)
521
- return scaleFactor * initialBorderWidth
522
- }
523
-
524
513
}
525
514
0 commit comments