【问题标题】:UIView is not aminating for the first timeUIView 不是第一次出现
【发布时间】:2015-06-17 19:25:35
【问题描述】:

我正在尝试在按钮单击时为 UIView 设置动画。 它确实会在第一次点击时出现,但只有在那之后才会出现。

@IBAction func viewDetails(sender: AnyObject) {

     UIView.animateWithDuration(0.5 as NSTimeInterval, animations: {
                   println(self.viewDetailsView.center.x)
                    println(self.viewDetailsView.hidden)
                    self.viewDetailsView.hidden = false
                    self.viewDetailsView.center = CGPointMake(self.viewDetailsView.center.x - 4000, self.viewDetailsView.center.y)
                    self.view.layoutIfNeeded()
                    }, completion: {
                        finished in
                        self.detailsVisible = true
                }) }

【问题讨论】:

  • 你的意思是说它在第二次点击时有效..?
  • 是的,第一次点击后每次都有效。
  • 多一点上下文会很好。你是从哪里打电话来的?
  • 我在 uiButton 的 IBAction 中调用它。
  • 我找到了解决方案。如果您使用自动布局约束,那么您应该更新约束以创建动画。 stackoverflow.com/questions/17301743/…

标签: ios uiview uianimation


【解决方案1】:

试试这个:

@IBAction func viewDetails(sender: AnyObject) {

    println(self.viewDetailsView.center.x)
    println(self.viewDetailsView.hidden)
    self.viewDetailsView.hidden = false
    self.viewDetailsView.center = CGPointMake(self.viewDetailsView.center.x - 4000, self.viewDetailsView.center.y)

    UIView.animateWithDuration(0.5 as NSTimeInterval, animations: {

        self.view.layoutIfNeeded()
    }, completion: { finished in
        self.detailsVisible = true
    }) 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 2021-10-31
    • 2014-02-23
    • 2021-08-27
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多