代码之家  ›  专栏  ›  技术社区  ›  Mark Löwe

如何将子视图添加到情节提要,然后使用分段显示

  •  1
  • Mark Löwe  · 技术社区  · 10 年前

    我有一个对给定标识符的故事板的视图控制器引用。我给它添加了一堆按钮,然后尝试通过segue显示它。

    我的问题是,当segue触发时,它会创建具有相同segue标识符的视图控制器的不同实例,因此它是空白的。

    将SubView()添加到情节提要,然后显示相同的情节提要对象的最佳做法是什么?

    澄清

    下面是我使用的流程:

    中央VC->使用集中式情节提要对象创建SubVC->在工厂类中向该SubVC添加子视图->使用其标识符将SubVC中的Segue排队返回到Central VC进行Segue->[它创建了一个没有我添加的新VC]

    2 回复  |  直到 10 年前
        1
  •  1
  •   vacawama    10 年前

    如果您使用的是segues,那么Storyboard将创建目标viewController。如果要自定义目标viewController,请在 prepareForSegue .

        2
  •  1
  •   Ulysses    10 年前

    你可以通过代码实例化一个视图,然后把它推给你的导航控制器,这是一种干净的方法,不要用不必要的片段来搅乱故事板。

    只需实例化下一个视图(您必须首先给这个视图一个StoryBoard ID),通过代码调用它,然后将其推入导航控制器。

    目标C

    UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"storyBoard_Name" bundle:nil];
    UIViewController* controller = [storyboard instantiateViewControllerWithIdentifier:@"ViewController_ID"];
    
    [self.navigationController pushViewController:viewControllerName animated:YES];
    

    敏捷的

    let storyboard = UIStoryboard(name: "storyBoard_Name", bundle: nil)
    let vc = storyboard.instantiateViewControllerWithIdentifier("ViewController_ID") as! UIViewController
    self.presentViewController(vc, animated: true, completion: nil)