Переход от одного контроллера View к другому в быстром - PullRequest
0 голосов
/ 26 декабря 2018

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

Ответы [ 3 ]

0 голосов
/ 26 декабря 2018

Вы можете выполнить любую анимацию в методе viewDidAppear() первого контроллера вида, используя UIView.animate(), и загрузить второй контроллер в блок завершения следующим образом:

UIView.animate(withDuration: 1.0, delay: 0, options: .curveEaseIn, animations: 
{
    //add animation code here
}) { (isAnimationComplete) in
    //load new controller here
    let controller = SecondViewController()
    navigationController.pushViewController(controller, animated: true)
}
0 голосов
/ 26 декабря 2018

1: перейдите к раскадровке и создайте ручную передачу между первым и вторым контроллером вида (удерживая нажатой клавишу «Control» и перетащите курсор из желтого кружка над FirstViewController в тело SecondViewController)

2: щелкните по переходу вв фоновом режиме и перейдите в инспектор атрибутов (4-я кнопка в правой верхней панели), а в текстовом поле «Идентификатор» введите «SegueName» (или как вам нужно)

3: перейдите в файл .swift для FirstViewController идобавьте функцию executeSegue.

class FirstViewController: UINavigationController {

override func viewDidLoad() {
    super.viewDidLoad()
    self.performSegue(withIdentifier: "SegueName", sender: self)
}

}

Помещение executeSegue внутри viewDidLoad () приведет к тому, что ваше приложение перейдет в очередь после загрузки экрана.Если вам нужна помощь в написании последовательности событий после анимации (или любого другого кода, настроенного для запуска на FirstViewController), мне нужно просмотреть файлы для обоих контроллеров представления.

0 голосов
/ 26 декабря 2018

Попробуйте эти шаги простой навигации, просто измените флаг анимированной истины

Если вы хотите изучить анимацию переходов контроллера, вы можете перейти к этим урокам.https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions

Шаг 1 - Создайте кнопку в ViewController и создайте IBAction для кнопки в viewController.

Шаг 2 - Создайте функцию, которая переходит на secondViewController.

@IBAction func pressButton(sender: UIButton) {

        navigateToSecondViewController()

    }

    func navigateToSecondViewController() {

        let secondVC = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
        self.present(secondVC, animated: true, completion: nil)

    }

Шаг 3 - Если вы используете navigatationController, вы можете нажать контроллер.

func navigateToSecondViewController() {

        let secondVC = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
        self.navigationController?.pushViewController(secondVC, animated: true)

    }
...