пользовательский переход, который перемещает только часть содержимого xcode - PullRequest
0 голосов
/ 16 октября 2018

Я видел много уроков, но не видел ничего интересного для меня.Я хочу сделать пользовательский переход, который перемещает только один вид, а не всю страницу.

Примерно так:

enter image description here

Вид сверхупросто всплывает без какой-либо анимации.Но вид снизу обычно скользит по нижнему контроллеру вида

Я пробовал:

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)})
}

Если вы не понимаете, спросите меня и помогите мне, пожалуйста.

1 Ответ

0 голосов
/ 16 октября 2018

Я думаю, вам нужна эта иерархия

enter image description here

MainView
  -topView
  -containerView 
   -navigation
     -firstvc
     -secondvc

и установите для навигационного бара скрытое в раскадровке

enter image description here

...