首页 > 解决方案 > 仅移动部分内容xcode的自定义segue

问题描述

我看过很多教程,但没有看到任何有趣的我。我想制作只移动一个视图而不是整个页面的自定义 segue。

像这样的东西:

在此处输入图像描述

顶视图只是弹出没有任何动画。但底视图通常在底视图控制器上滑动

我努力了:

swift

override func perform() {
    scale()
}
func scale(){
    let toViewController = self.destination
    let fromViewController = self.source

    let containerView = fromViewController.view.superview
    let originalCenter = fromViewController.view.center

    toViewController.view.viewWithTag(1)?.viewWithTag(2)?.transform = CGAffineTransform(translationX:self.source.view.frame.width,y:0)
    toViewController.view.center = originalCenter

    containerView?.addSubview(toViewController.view)

    UIView.animate(withDuration: 0.5, delay:0, options: .showHideTransitionViews ,animations:{
        toViewController.view.viewWithTag(1)?.viewWithTag(2)?.transform = CGAffineTransform.identity
    },completion:{success in fromViewController.present(toViewController,animated: false,completion: nil)})
}

如果您不明白,请问我并帮助我。

标签: iosswiftxcodeanimationsegue

解决方案


我认为您需要这种层次结构

在此处输入图像描述

MainView
  -topView
  -containerView 
   -navigation
     -firstvc
     -secondvc

并将导航栏设置为隐藏在情节提要中

在此处输入图像描述


推荐阅读