我怎么会在相反的方向上做这个segue?

时间:2017-02-04 06:30:27

标签: ios swift segue

我有这个代码从左到右分段,但我希望它从右到左。我该怎么做呢?

for (int i = 0; i < lines.Length; i++)
{
    Combobox.[i] = lines[i];
}

1 个答案:

答案 0 :(得分:0)

您需要做的是首先将第二个视图放在第一个视图的左侧而不是右侧。

secondVCView.frame = CGRectMake(-screenWidth, 0.0, screenWidth, screenHeight)

然后在动画中你要反过来:

firstVCView.frame = CGRectOffset(firstVCView.frame, screenWidth, 0.0)
secondVCView.frame = CGRectOffset(secondVCView.frame, screenWidth, 0.0)

所以最终的结果是:

let screenWidth = (UIScreen.mainScreen().bounds).width
let screenHeight = (UIScreen.mainScreen().bounds).height

let firstVCView = sourceViewController.view
let secondVCView = destinationViewController.view
secondVCView.frame = CGRectMake(-screenWidth, 0.0, screenWidth, screenHeight)

// Access the app's key window and insert the destination view above the current (source) one.
let window = UIApplication.sharedApplication().keyWindow
window?.insertSubview(secondVCView, aboveSubview: firstVCView)

// Animate the transition.
UIView.animateWithDuration(0.3, animations: { () -> Void in
    firstVCView.frame = CGRectOffset(firstVCView.frame, screenWidth, 0.0)
    secondVCView.frame = CGRectOffset(secondVCView.frame, screenWidth, 0.0)

}) { (Finished) -> Void in
    self.sourceViewController.presentViewController(self.destinationViewController ,
                                                    animated: false,
                                                    completion: nil)
}