Skip to content

Commit 1e165e9

Browse files
committed
Same behavior as original cards implementation but with no border.
1 parent dfe6e75 commit 1e165e9

File tree

1 file changed

+9
-20
lines changed

1 file changed

+9
-20
lines changed

CardAnimation/AnimatedCardView/AnimatedCardsView.swift

+9-20
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public class AnimatedCardsView: UIView {
171171
if lastIndex < cardCount {
172172
addNewCardViewWithIndex(lastIndex, insertOnRear: true)
173173
}
174+
frontView.contentVisible(false)
174175

175176
UIView.animateWithDuration(animationsSpeed*1.5, animations: {
176177
frontView.layer.transform = self.flipDownTransform3D
@@ -198,26 +199,25 @@ extension AnimatedCardsView {
198199
gestureDirection = velocity.y > 0 ? .Down : .Up
199200

200201
case .Changed:
201-
let frontView : BaseCardView? = cardArray.count > 0 ? cardArray[0] : nil
202-
203202
if gestureDirection == .Down{ // Flip down
204203
guard currentIndex < cardCount else {
205204
gesture.enabled = false // Cancel gesture
206205
return
207206
}
208207

208+
let frontView = cardArray[0]
209209
switch percent{
210210
case 0.0..<1.0:
211211
flipTransform3D = CATransform3DRotate(flipTransform3D, CGFloat(-M_PI) * percent, 1, 0, 0)
212-
frontView?.layer.transform = flipTransform3D
212+
frontView.layer.transform = flipTransform3D
213213
if percent >= 0.5{
214-
frontView?.contentVisible(false)
214+
frontView.contentVisible(false)
215215
}else{
216-
frontView?.contentVisible(true)
216+
frontView.contentVisible(true)
217217
}
218218
case 1.0...CGFloat(MAXFLOAT):
219219
flipTransform3D = CATransform3DRotate(flipTransform3D, CGFloat(-M_PI), 1, 0, 0)
220-
frontView?.layer.transform = flipTransform3D
220+
frontView.layer.transform = flipTransform3D
221221
default:
222222
print(percent)
223223
}
@@ -240,10 +240,8 @@ extension AnimatedCardsView {
240240
case -1.0...0:
241241
if percent <= -0.5{
242242
gestureTempCard!.contentVisible(true)
243-
gestureTempCard!.layer.borderWidth = gestureTempCard!.frame.width / 100
244243
}else{
245244
gestureTempCard!.contentVisible(false)
246-
gestureTempCard!.layer.borderWidth = 0
247245
}
248246
flipTransform3D = CATransform3DRotate(flipTransform3D, CGFloat(-M_PI) * (percent+1.0), 1, 0, 0)
249247
gestureTempCard!.layer.transform = flipTransform3D
@@ -276,9 +274,9 @@ extension AnimatedCardsView {
276274

277275
})
278276
}else{
279-
let frontView : BaseCardView? = cardArray.count > 0 ? cardArray[0] : nil
277+
let frontView = cardArray[0]
280278
UIView.animateWithDuration(0.2, animations: {
281-
frontView?.layer.transform = CATransform3DIdentity
279+
frontView.layer.transform = CATransform3DIdentity
282280
})
283281

284282
}
@@ -383,14 +381,13 @@ extension AnimatedCardsView {
383381
// MARK: Handle Layout
384382
extension AnimatedCardsView {
385383

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) {
387385
let width = cardSize.width
388386
let height = cardSize.height
389387
subView.layer.anchorPoint = CGPointMake(0.5, 1)
390388
subView.layer.zPosition = CGFloat(1000 - relativeIndex)
391389

392390
let sizeScale = calculateWidthScaleForIndex(relativeIndex)
393-
let borderWidth: CGFloat = width * sizeScale / 100
394391

395392
let filterWidthSubViewConstraints = subView.constraints.filter({$0.firstAttribute == .Width && $0.secondItem == nil})
396393
if filterWidthSubViewConstraints.count > 0{
@@ -411,8 +408,6 @@ extension AnimatedCardsView {
411408
centerYConstraint.constant = subViewHeight/2 - YOffset
412409
}
413410

414-
subView.layer.borderWidth = haveBorderWidth ? borderWidth : 0
415-
416411
UIView.animateWithDuration(animated ? animationsSpeed : 0, delay: delay, options: .BeginFromCurrentState, animations: {
417412
subView.alpha = delete ? 0 : self.calculateAlphaForIndex(relativeIndex)
418413
self.layoutIfNeeded()
@@ -515,11 +510,5 @@ extension AnimatedCardsView {
515510

516511
return alpha
517512
}
518-
519-
private func calculateBorderWidthForIndex(indexInQueue: Int, initialBorderWidth: CGFloat) -> CGFloat{
520-
let scaleFactor = calculateScaleFactorForIndex(indexInQueue)
521-
return scaleFactor * initialBorderWidth
522-
}
523-
524513
}
525514

0 commit comments

Comments
 (0)