Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-以编程方式使用新数据重新加载视图_Swift_Segue_Viewcontroller - Fatal编程技术网

Swift-以编程方式使用新数据重新加载视图

Swift-以编程方式使用新数据重新加载视图,swift,segue,viewcontroller,Swift,Segue,Viewcontroller,我有一个带有一些按钮的主视图。例如,如果用户按下按钮1,我会通过segue导航到DetailView,并在其中以编程方式向视图添加项目。然后用户可以按下一步,我想做的是基本上清除DetailView并以编程方式添加自定义到DetailView中按钮2的新项目,以及当用户再次按下下一步clear DetailView并以编程方式添加自定义到按钮3的新项目等 从MainView和按钮,我使用此序列导航到DetailView func btnNext_Clicked(sender:UIButton){

我有一个带有一些按钮的主视图。例如,如果用户按下按钮1,我会通过segue导航到DetailView,并在其中以编程方式向视图添加项目。然后用户可以按下一步,我想做的是基本上清除DetailView并以编程方式添加自定义到DetailView中按钮2的新项目,以及当用户再次按下下一步clear DetailView并以编程方式添加自定义到按钮3的新项目等

从MainView和按钮,我使用此序列导航到DetailView

func btnNext_Clicked(sender:UIButton){
    self.performSegueWithIdentifier("showDetailView", sender: buttonId)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showDetailView" {
        let detailViewController = segue.destinationViewController as! DetailViewController
        detailViewController.buttonId = buttonId!
    }
}

但是现在我不知道当用户按下“下一步”时如何清除detailView并添加新项目。有人知道怎么做吗?

如果您只想删除旧按钮,并以编程方式创建新按钮,请随意使用

view.subviews.map({ $0.removeFromSuperview() })
这将删除所有子视图,您将能够创建新的子视图