很抱歉,标题令人困惑。我的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切换回我的另一个Tab。但是我想要的是它也可以返回到cameraView Controller-创建发布工作流程的第一步,以便当用户切换回该工作流程时,它们从头开始,而不会返回到createPost现在正在发生的事情是ViewController(最后一步)。
我该如何在“幕后”执行此任务,以便可以发生?
答案 0 :(得分:0)
我通过在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
}
,它将selectedIndex切换回主屏幕。但是,当您将标签页切换回“相机”标签时,由于之前已经完成了放松,所以我们又回到了相机视图控制器上。这是所需的行为。一个缺点是,如果不更改所选的tabBar索引,就无法放松对相机的监视,但是我的应用程序当前没有理由这样做。