在Swift中,我使用UIView.animateWithDuration来动画按钮和一些文本。 在“完成”块中,我执行一个名为showQuestion的函数,这是另一个UIView动画。 但是,首次运行showQuestion函数时,先前被先前动画隐藏的按钮和文本会再次出现在框架中,就好像从未移动过一样。

我在这里检查了几个问题,但似乎没有一个直接解决这个问题。

编辑#1

这是三个功能。

    func startQuiz(){
        UIView.animateWithDuration(0.2, delay: 0.2, options: .CurveEaseIn, animations: {
                self.goButton.frame.origin.y = self.view.frame.height + 5
                self.languageLabel.frame.origin.y = self.view.frame.height + 5
                self.label.frame.origin.y = self.view.frame.height + 5
            }, completion: { finished in
                self.generateFirstQuestion()
        })
    }

    func generateFirstQuestion() {
        var aBase = 0;
        var qBase = 0;
        if(self.lang == "fr") {
            aBase = 25
            qBase = 5
        }
        var offset = (self.currentQuestion * 5) + aBase
        var question:String = self.questions[self.currentQuestion+qBase]
        self.questionLabel.text = question
        var answer1:String = self.answers[offset]
        var answer2:String = self.answers[offset+1]
        var answer3:String = self.answers[offset+2]
        var answer4:String = self.answers[offset+3]
        var answer5:String = self.answers[offset+4]
        self.showQuestion()
    }

    func showQuestion(){
        if(self.isAnimating){
            UIView.animateWithDuration(0.2, delay: 0.2, options: .CurveEaseOut, animations: {
                self.questionLabel.center.x = self.view.center.x

                }, completion: { finished in
                    self.isAnimating = false
                    self.currentQuestion++
            })
        }
        else {
            var aBase = 0;
            var qBase = 0;
            if(self.lang == "fr") {
                aBase = 25
                qBase = 5
            }
            var offset = (self.currentQuestion * 5) + aBase
            var question:String = self.questions[self.currentQuestion+qBase]
            self.questionLabel.text = question
            var answer1:String = self.answers[offset]
            var answer2:String = self.answers[offset+1]
            var answer3:String = self.answers[offset+2]
            var answer4:String = self.answers[offset+3]
            var answer5:String = self.answers[offset+4]

            UIView.animateWithDuration(0.2, delay: 0.2, options: .CurveEaseIn, animations: {
                self.questionLabel.frame.origin.x = 0-700

                }, completion: { finished in
                    self.questionLabel.frame.origin.x = self.view.frame.width+5
                    self.isAnimating = true
                    self.showQuestion()
            })
        }
    }

  ask by matcartmill translate from so

本文未有回复,本站智能推荐:

1回复

在标题第二个部分执行与单元格相同的动画

我按照Brian Advent的教程https://www.youtube.com/watch?v=FpTY04efWC0制作了我的TableView的动画,但他的动画仅在单元格上有效,我如何在3个节标题上执行相同的动画? 这是单元格上的动画
1回复

UIView动画不动画

我有一小段代码可以为UIImage的位置设置动画,但是过渡效果不是很生动-而是位置会立即更改。 我不认为这是一个代码问题,因为同一代码可以在另一个项目上工作,但是我无法弄清楚还有什么问题。 alpha设置动画,但y位置不设置动画。 我的约束看起来像这样 具体来说,在代码中
1回复

为什么在动画之前更改UIView中的文本时UIView动画失败?

我对UIView动画相对较新,并制作了一个简单的“infoView”框架的上/下动画。 深蓝色区域是可触摸的,并切换到目前为止工作正常的动画。 问题只是从右上角的UILabel改变了TEXT。 如果我在动画的完成块之前,之后或之中更改Label的内容,则动画始终会失败。
1回复

扩展UiView动画

我试图在我的swift iOS应用程序中实现以下动画。 目前屏幕底部有一个UIView ,具有以下属性: 在里面,有一个imageView,几个按钮和其他组件。 containerView还具有在其上实现的模糊效果。 当用户按下它时,我希望视图向上移动直到它到达屏幕顶部。 同时我
2回复

动画UIView上的动画层

我无法在其中一个视图上设置图层动画。 我用Google搜索这个问题,但只能找到答案使用CATransaction即假设我知道fromValue和toValue其边界。 我在tableHeader中有一个视图,在单击时调整自身大小。 这个视图是一个普通的UIView和动画,就像在UIView
1回复

动画UIView背景颜色迅速

我想用随机颜色动画UIView的背景。 这是我到目前为止所做的: 但它只是在开始时生成一个随机颜色,并在我的动画中使用这种单一颜色。 我想找到一种动画颜色的方法,所以UIVIew背景看起来像一个随机的彩虹。
1回复

UIView动画-奇怪的行为(快速)

我有一个包含动画图片(图片序列)的UIImageView,我试图将UIImageView从其当前位置移动到屏幕右侧(从屏幕中间到右侧)以创建角色的运行效果 当我按下要触发动画的按钮时,图像突然消失,然后从屏幕左侧向中间移动。 我不知道为什么UIImageView被移出屏幕(左侧)
1回复

UIView Swift倾斜动画

我有一个UIImageView,我想让它在我调用一个函数时,图像从平坦状态(正常状态)变为向右旋转(例如可能旋转20度),然后再回到平坦状态(正常)状态。 这是我目前拥有的,但是我无法获得理想的结果。
3回复

Swift3中的UIView动画

我正在尝试将UIImageView移至顶部,底部,左侧和右侧。 动画应为4 4倍。 中心图像朝上移动,然后向左移动,再向右移动。 如何使用UIAnimation swift 3实现此目的? 如何使用动画将图像移到顶部,左侧,右侧和底部?
1回复

UIView的高度约束动画

我有名为DetailView的UIView,它具有以下约束: 全部在StoryBoard中制作。 DetailView是图像上的这个灰色矩形 我想在点击按钮后更改此UIView的高度,所以我有IBAction来实现这一点 更改尺寸效果完美,但动画效果不佳。 我想达到扩展