【问题标题】:swift how make animation flip between two UIViewsswift 如何让动画在两个 UIView 之间翻转
【发布时间】:2015-05-10 16:15:39
【问题描述】:

我正在尝试创建一个 IOS 应用程序并在按下某些按钮时翻转两个视图。我找到了翻转动画,但我希望翻转在翻转 90° 时将内容更改为新视图,而不是在动画完成时。这是我的功能:

func animationFlip(fromView:UIView, toView:UIView, animationTime:Float)
{

    UIView.animateWithDuration(NSTimeInterval(animationTime), animations: {

        UIView.setAnimationTransition(UIViewAnimationTransition.FlipFromRight, forView: fromView, cache: true)

        },completion:{completion in
            UIView.animateWithDuration(NSTimeInterval(animationTime), animations: { () -> Void in

                fromView.hidden = true;
                toView.hidden = false;
                UIView.setAnimationTransition(UIViewAnimationTransition.FlipFromRight, forView: toView, cache: true)


            })
    })
}

我发现这段代码似乎可以解决问题,但它是用 obj-c 编写的。怎么翻译成swift?

[UIView transitionFromView:viewToReplace
        toView:replacementView
        duration:1
        options:UIViewAnimationOptionTransitionFlipFromBottom
        completion:nil];

提前致谢!

【问题讨论】:

  • 为什么需要有人将单个方法翻译成 Swift?只需输入“UIView.transition....”,该方法将自动为您完成。
  • 哦不知道这么简单 :) 我试过了,但它颠覆了我的整个视野​​。我的常规视图中有一个视图容器,它只是我想要翻转的部分。你知道怎么解决吗?
  • 为了避免翻转整个视图,您需要使用另一个视图来包含您正在转换的两个视图。见stackoverflow.com/a/9524837/2466193
  • 感谢@AliBeadle。我的主视图控制器中有三个容器视图,我可以在我的 ViewController.swift 中访问这些视图来创建动画。但是现在我在 main 中有一个 Container 视图,其中包含所有三个视图,我无法在我的 swift 代码 (ViewControll.swift) 中处理它们。我试图按 ctrl-click 并将它们拖到 swift-code 但它不起作用。你知道我该如何解决吗?
  • @FidanBytyqi 我不明白这个问题。我建议将其作为一个单独的问题发布,并提供更多解释。

标签: ios xcode swift animation uiview


【解决方案1】:

在 Swift 中:-

UIView.transitionFromView(viewToReplace, toView: replacementView, duration: 1, options: .TransitionFlipFromBottom, completion: { _ in })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    相关资源
    最近更新 更多