Как выполнить переход "за кадром", когда не на активном контроллере представления? - PullRequest
0 голосов
/ 07 октября 2018

Извините, если название сбивает с толку.У меня есть рабочий процесс создания поста, который находится на вкладке в моем tabBar.В конце есть кнопка «Создать», чтобы опубликовать пост.Вот код, прикрепленный к нажатию этой кнопки:

@objc func postButtonPressed() {
    let tokens = self.tagsView.tokens()
    let tokensArr = tokens!.map({
        (token: KSToken) -> String in
        return token.title
    })
    if MyVariables.isScreenshot == true {
        PostService.createImagePost(image: self.screenshotOut!, timeStamp: self.postDate!, tags: tokensArr, notes: addNotesTextView.text ?? "")
    } else {
        PostService.createVideoPost(video: self.videoURL!, timeStamp: self.postDate!, thumbnailImage: self.thumbnailImage!, tags: tokensArr, notes: addNotesTextView.text ?? "")
    }
    self.tabBarController?.selectedIndex = 0
    self.tabBarController?.tabBar.isHidden = false

    //performSegue(withIdentifier: "ShowHomeViewController", sender: nil)
}

Это работает в том, что tabBarController переключается обратно на мою другую вкладку.Но я хочу, чтобы он также возвращался к CameraView Controller - первому шагу процесса создания постпроцесса, чтобы при переходе пользователя назад к этому процессу он начинался с самого начала и не возвращался в createPost.ViewController (последний шаг), это то, что происходит сейчас.

Как мне выполнить эту передачу "за кадром", чтобы это могло произойти?

1 Ответ

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

Я добился этого, выполнив переход «раскручивать» с помощью кнопки createPost ...

@objc func postButtonPressed() {
    //post code//
    ...

        performSegue(withIdentifier: "unwindToCamera", sender: nil)
    }

Я добавил этот переход раскручивания в конструкторе интерфейса.Затем в CameraViewController у меня есть:

@IBAction func unwindToCamera(sender: UIStoryboardSegue) {
        self.tabBarController?.selectedIndex = 0
        self.tabBarController?.tabBar.isHidden = false
    }

, который переключает выбранный индекс обратно на домашний экран.Однако, когда вы вернетесь обратно к вкладке камеры, мы вернемся к контроллеру вида камеры из-за перемотки, сделанной ранее.Это желаемое поведение.Единственным недостатком является то, что я не могу развернуть камеру, не изменив выбранный индекс tabBar, но у моего приложения в настоящее время нет причин для этого.

...