gpt4 book ai didi

ios - 无法看到数组中前 3 个 View Controller 的 .transitionFlipFromRight 动画

转载 作者:搜寻专家 更新时间:2023-10-30 23:04:32 24 4
gpt4 key购买 nike

我有一个界面类似 Tinder 的应用程序,用户可以在其中浏览汽车

在我的 ViewController.swift 中,我有

private var currentCardsOnScreen: [CardViewController] = []

当我将 CardViewController 放入堆栈时,这个数组被填充:

if !currentCardsOnScreen.map({ $0.id }).contains(vc.id) {
self.currentCardsOnScreen.append(vc)
}

滑动发生后项目被删除:

if let index = currentCardsOnScreen.index(of: currentCard), 
currentCardsOnScreen.map({ $0.id }).contains(currentCard.id) {
currentCardsOnScreen.remove(at: index)
}

当用户选择一张卡片时,我运行这个:

guard let currentCard = currentCard(index: index) else { return }

currentCard.flipCard()

调用这个方法:

func flipCard() {
guard
let frontOfCard = frontOfCard,
let backOfCard = backOfCard
else { return }

UIView.animate(withDuration: 0.32, delay: 0, options: .transitionFlipFromRight, animations: {
if self.frontIsShowing {
self.view.transform = CGAffineTransform(scaleX: 1, y: 1)

frontOfCard.alpha = 0
backOfCard.view.alpha = 1
} else {
self.view.transform = CGAffineTransform(scaleX: -1, y: 1)
frontOfCard.transform = CGAffineTransform(scaleX: -1, y: 1)

frontOfCard.alpha = 1
backOfCard.view.alpha = 0
}

self.frontIsShowing = !self.frontIsShowing
}, completion: nil)

堆叠中的卡片数量始终为 3。对于前 3 张卡片,点击卡片将更改 frontIsShowing 的值,但不会显示卡片翻转。如果我刷掉前 3 张,之后的任何卡片都会按预期运行。动画将显示,一切都会很好。

知道这里会发生什么吗?

编辑:另外,不确定是否相关,但在卡片 4 制作第一个翻转动画时,我看到 alphas 过渡通过淡入/淡出而不是卡片翻转。第二次点击是我看到翻转动画的时候。同样,不确定是否相关但我想我会提到。

最佳答案

我想通了。我有一个 Alamofire 调用来获取大量阻止主线程动画的数据

关于ios - 无法看到数组中前 3 个 View Controller 的 .transitionFlipFromRight 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46917484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com