UIView.beginAnimations上下文 - Swift

问题描述 投票:-3回答:3

我在Swift中让一个UIView(UIButton)做动画时遇到了麻烦。谁能帮帮我?这是我的代码。我主要是在[UIView.beginAnimations]这个方法上遇到了问题,它要求我传递一个String和一个CMutableVoidPointer。它要求我传递一个字符串和一个CMutableVoidPointer。目前这个方法崩溃了。谢谢你

    var newCenter:CGPoint = CGPointMake(playAgainButton.center.x, playAgainButton.center.y + 200)
    [UIView.beginAnimations(nil, context: nil)]
    [UIView.setAnimationDuration(1.0)]
    playAgainButton.center = newCenter
    [UIView.commitAnimations]
ios objective-c xcode uiview swift
3个回答
6
投票

修改下面的代码。它必须在Swift中工作

    var newCenter:CGPoint = CGPointMake(playAgainButton.center.x, playAgainButton.center.y + 200)
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(1.0)
    playAgainButton.center=newCenter
    UIView.commitAnimations()

3
投票

你不应该用这种方法来做视图动画。苹果从iOS 4开始就推荐你做基于块的UIView动画,你想要的块基相当于Swift中的这个样子。

UIView.animateWithDuration(1.0) {
    playAgainButton.center = CGPointMake(playAgainButton.center.x, playAgainButton.center.y + 200)
}

2
投票

我建议使用基于块的版本。

UIView.animate(withDuration: 1.0) {
    playAgainButton.center.y + 200.0)    
}
© www.soinside.com 2019 - 2024. All rights reserved.