我是iOS网站的新用户。我使用导航控制器并pushViewController
切换到其他视图。但现在我试图在没有导航栏的情况下推送到视图。新视图应包含一个完成按钮,一旦单击该按钮应该将用户带回到最后一个视图。你知道如何实现这个目标吗?我试过这个
let storyboard = UIStoryboard(name: "Main.Storyboard", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "FormViewController")
self.present(controller, animated: true, completion: nil)
我收到了错误
'Could not find a storyboard named 'Main.storyboard' in bundle NSBundle.
如果我将FormViewController
作为故事板名称,我会收到同样的错误。我将FormViewController
设置为Storyboard ID,并将其设置为我想要与界面一起使用的swift文件名,Main.Storyboard
是故事板文件的名称。
答案 0 :(得分:4)
你没有添加" .storyboard"文件名的一部分,它会自动执行:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
答案 1 :(得分:1)
在处理storyboard
和访问ViewController
时,您必须按照以下步骤操作:
<强> 1。将Storyboard ID分配给ViewController
在Storyboard
中,选择所需的ViewController
并为其指定 Storyboard Id
<强> 2。访问ViewController
要访问ViewController
,您需要我们在第一步中设置的 Storyboard Id 。
如果你只有一个storyboard
,你就可以这样做
let controller = self.storyboard.instantiateViewController(withIdentifier: "YourViewControllerID")
self.present(controller, animated: true, completion: nil)
**
**
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "YourViewControllerID")
self.present(controller, animated: true, completion: nil)
如果您在同一个项目中使用多个故事板,那么您必须使用其名称(不包含其扩展名,即.Storyboard)访问storyboard
< /强>:
let storyboard = UIStoryboard(name: "YourStoryboardName", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "YourViewControllerID")
self.present(controller, animated: true, completion: nil)