gpt4 book ai didi

ios - 如何在 Swift 中翻转 imageView

转载 作者:可可西里 更新时间:2023-11-01 00:24:20 25 4
gpt4 key购买 nike

我一直在尝试让两个 imageViews 在我按下按钮时交替出现翻转动画。 imageViews 和按钮都是在 Storyboard中创建的。

经过几天的努力并寻找答案后,这就是我现在所处的位置。我已经非常接近了,但目前,一旦图像第一次翻转,它就会工作,然后第二次翻转会导致两个 ImageView 都移动到屏幕的左上角。

我认为这可能与我设置容器 View 的方式有关。可能在第一次翻转后断开连接,需要重置?

如有任何帮助,我们将不胜感激。

import UIKit
var flipAnimationContainer: UIView!
class flipViewController: UIViewController {

var showingBack = false


@IBOutlet weak var frontView: UIImageView!

@IBOutlet weak var backView: UIImageView!

@IBAction func flipButton(sender: AnyObject) {


if (showingBack) {


UIView.transitionFromView(backView, toView: frontView, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromBottom, completion: nil)

showingBack = false


} else {


backView.hidden = false

UIView.transitionFromView(frontView, toView: backView, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromBottom, completion: nil)

showingBack = true

}


}


override func viewDidLoad() {

super.viewDidLoad()


// let rect = CGRectMake(self.headsView.frame.minX, self.headsView.frame.minY, self.headsView.frame.width, self.headsView.frame.height)

animationContainer = UIView(frame: self.frontView.frame)

animationContainer.addSubview(backView)

animationContainer.addSubview(frontView)

view.addSubview(flipAnimationContainer)


backView.hidden = true

}


override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}


}

最佳答案

在添加 frontView 和 backView 作为 subview 之前。

frontView.setTranslatesAutoresizingMaskIntoConstraints(true)
backView.setTranslatesAutoresizingMaskIntoConstraints(true)

在那之后。在 flipButton 函数中。

UIView.transitionFromView(backView, toView: self.frontView, duration: 1, options: .TransitionFlipFromBottom | .ShowHideTransitionViews , completion: nil)

.ShowHideTranstionViews 选项将阻止 fromViewtoView 替换。

关于ios - 如何在 Swift 中翻转 imageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26877202/

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