我最近问了这个问题,但没有很好地呈现这个问题。我在这里重申一下,希望能得到一些帮助。
我正在编写一个卡片应用程序,并为卡片在某些点移动设置动画。在我的代码中的某个时刻,我收到了一些不需要的动画,其中卡片在不应该移动的情况下移动。
我的应用程序中的动画来自以下代码:
playersCards 是一个 UIImageView 数组
func moveCardUpDown(cardNum : Int, moveUp : Bool) {
let moveCard = playerCards[cardNum]
var moveInc = 0
// -20 = Move Up, +20 = Move down
if moveUp {
moveInc = -20
}
else {
moveInc = 20
}
//Animate the card
UIView.animate(withDuration: 0.5, animations: {
var newCenter = moveCard.center
newCenter.y += CGFloat(moveInc)
moveCard.center = newCenter
}, completion: { finished in
//print("Card Moved")
})
}
上面的代码在调用时会按照我希望的方式移动所需的卡片 被移动。
然后,我尝试将图像放入庄家的牌中,不使用动画(dealerCards 也是 UIImageView 的数组)。出现的不需要的动画是,每当执行下面的代码行时,玩家手中的牌就会移动。该行当然是循环的,但即使我只执行该行一次,它也会执行相同的操作并且玩家手中的牌会被移动。 cardImage 是保存卡片名称的有效字符串。
dealerCards[i].image = UIImage(named: cardImage)! as UIImage
最佳答案
经过大约一周的时间,我发现了这个问题。您必须在 Mainstoryboard 上取消选中自动布局的使用。
以下是同一问题的旧答案的链接:http://www.raywenderlich.com/17811/how-to-make-a-simple-mac-app-on-os-x-10-7-tutorial-part-13/smat-disable-autolayout
关于ios - 出现不需要的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48392202/