gpt4 book ai didi

ios - 改变标题时 UIButton 转到动画的起点

转载 作者:搜寻专家 更新时间:2023-11-01 05:54:07 25 4
gpt4 key购买 nike

我正在制作一个按钮,当按下时它会移动一段距离。在它移动了那个距离之后,它应该改变它的标题并停留在那个位置。但是,当动画结束时,它会跳回起点并更改标题。当相同的代码在没有按钮更改其标题的情况下运行时,它工作正常。所以看起来

self.button.setTitle("hehehe", forState: UIControlState.Normal)

是导致问题的原因。这是代码:

//when button pressed
UIView.animateWithDuration(1, delay: 0, options: .CurveLinear, animations: {
self.button.center.y -= 50
}) { _ in

self.button.setTitle("hehehe", forState: UIControlState.Normal)
}

最佳答案

您可能希望使用约束来制作动画。首先,像这样设置尾随(例如,取决于您希望如何设置动画):

enter image description here

我将我的命名为 myConstraint:

enter image description here

一旦你有了这两个 IBOutlets:

    @IBOutlet weak var myButton: UIButton!
@IBOutlet weak var myConstraint: NSLayoutConstraint!

您可以像这样制作动画并更改文本(我将此代码放在按钮操作中):

// Animate
UIView.animateWithDuration(1, delay: 0, options: .CurveLinear, animations: {
self.myConstraint.constant = // the new "length" of the constraint, just test different numbers to understand it
self.view.setNeedsLayout()
self.view.layoutIfNeeded()
}) { _ in
self.myButton.setTitle("hehehe", forState: UIControlState.Normal)
}

关于ios - 改变标题时 UIButton 转到动画的起点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914075/

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