据我所知,引用故事板可用于制作具有相同故事板参考的多故事板。如果所有View Controllers层次结构都通过segue连接,则可以正常工作。
我想知道如何在视图控制器之间使用没有segue的引用故事板,因为一个视图控制器可能以多种方式使用,或者可能需要使用新引用故事板中的故事板标识符访问视图控制器。
请告诉我,我想使用没有segue的引用storyboard的视图控制器。
答案 0 :(得分:0)
你可以这样做......
@IBAction func tapButtonToShowOtherController(_ sender: Any?) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
//storyboard identifier set in storyboard "userSB"
let aVC = storyboard.instantiateViewController(withIdentifier: "userSB") as? AViewController
aVC?.udelegate = self
self.present(aVC!, animated: true, completion: nil)
}
答案 1 :(得分:0)
在身份检查器中将id提供给故事板,例如" ViewController_id"
MyCartViewController* destVC = [self.storyboard instantiateViewControllerWithIdentifier:@"MyCartViewController_id"];
[self.navigationController pushViewController:destVC animated:YES];
答案 2 :(得分:0)
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
MyNewViewController *myVC = (MyNewViewController *)[storyboard instantiateViewControllerWithIdentifier:@"myViewCont"];
答案 3 :(得分:0)
从故事板中选择您的viewcontroller,然后选择 identity inspecter 根据需要提供stoary board id
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"your storyboard name" bundle:nil];
MyNewViewController *myVC = (MyNewViewController *)[storyboard instantiateViewControllerWithIdentifier:@"your storyboard id"];
我在这里下载了样本https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards
他们使用了故事板参考作为segue.Here我修改了以下内容:
1.选择Checklists.stoaryboard
2.Remove ChecklistDetailViewController segue。
3.选择ChecklistsViewController.swift
4.添加以下代码:无需工作
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let storyboard = UIStoryboard(name: "ChecklistDetail", bundle: nil)
let aVC = storyboard.instantiateViewController(withIdentifier: "ChecklistDetailViewController") as? ChecklistDetailViewController
aVC?.checklist = checklists[indexPath.row]
navigationController?.pushViewController(aVC!, animated: true)
}
5.comment 准备(对于segue:UIStoryboardSegue,发件人:任何?)方法。
我明白了:
使用时,故事板参考您需要提及 ReferenceID
然后,您可以通过 storyboardId 提供 stoarboard名称来 viewcontroller