第二次执行Flip Transition时,子视图会消失吗?

时间:2016-07-12 11:21:12

标签: flip

我正在两个视图上执行翻转视图转换,这两个视图在A Container View中有界。第一次轻视他们工作正常。第二次观看框架不在视野范围内。

[<UIView: 0x7fc2316aa030; frame = (-154 -529; 0 0); autoresize = RM+BM; layer = <CALayer: 0x7fc2316aa1a0>>] 

再次翻转后,会显示容器视图。

如果我在项目中取消选中“使用Autolayout”,它的工作正常。

但是,如果我使用AutoLayout,那该怎么办?

这是代码:

 @IBAction func flipViews()
{
    if a==false
    {

        UIView.transitionFromView(new, toView: old, duration: 1, options: .TransitionFlipFromLeft, completion: {(isFinished : Bool)
            in

            print(self.view_Effects.subviews)
          // self.old.frame=self.view_Effects.frame

            })
        a=true
    }
    else
    {
        UIView.transitionFromView(old, toView: new, duration: 1, options: .TransitionFlipFromLeft, completion:{(isFinished : Bool)
            in
            print(self.view_Effects.subviews)
            //self.view_Effects.hidden=true
             //self.new.frame=self.view_Effects.frame
        })
        a=false
    }

1 个答案:

答案 0 :(得分:0)

当我布置我的观点时,所有开始工作都很好。进行转换时,重要的是要记住,自动布局总是根据您设置的约束计算视图边界和框架。因此,在我的情况下,我只是将中心垂直和水平对齐,宽度和高度添加到我的旋转视图,因此自动布局机制知道我的视图到底是什么时候。一切都很顺利。这是一个很好的自动布局教程 http://www.raywenderlich.com/50319/beginning-auto-layout-tutorial-in-ios-7-part-1