有人能发现我的错误吗?左栏按钮可以关闭,但是操作按钮调用 performSegue
但 UI 没有更改 VC?在 ViewDidLoad
中调用 showLinkPreviewController
可以工作,所以显然这是目标/操作的问题?一个错误?
let button = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissTimeline))
timelineViewController.navigationItem.leftBarButtonItem = button
let previewButton = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(showLinkPreviewViewController))
timelineViewController.navigationItem.rightBarButtonItem = previewButton
// Create a navigation controller to hold the
let navigationController = UINavigationController(rootViewController: timelineViewController)
showDetailViewController(navigationController, sender: self)
}
func dismissTimeline() {
dismiss(animated: true, completion: nil)
}
func showLinkPreviewViewController() {
self.performSegue(withIdentifier: "showLinkPreviewViewController", sender: self)
}
// Create a navigation controller to hold the
let navigationController = UINavigationController(rootViewController: timelineViewController)
showDetailViewController(navigationController, sender: self)
最佳答案
你应该像这样使用调度 -
dispatch_async(dispatch_get_main_queue(), ^{
[self.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"thirdScreen"] animated:YES];
});
或者其他方式 -
dispatch_async(dispatch_get_main_queue(), ^{
func showLinkPreviewViewController() {
self.performSegue(withIdentifier: "showLinkPreviewViewController", sender: self)
}
});
关于ios - PerformSegue 被调用但实际上并未转至 VC2? ( swift 3.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923616/