美文网首页
Embed segue:storyboard或xib布局

Embed segue:storyboard或xib布局

作者: BigBossZhu | 来源:发表于2019-10-10 14:27 被阅读0次

    使用EmbedSegue可以将StoryBoard中的源视图控制器跟目标控制器连接起来。防止单个Controller的逻辑过于臃肿。
    创建过程。首先在StoryBoard中的Controller上拖入一个ContainerView控件

    image

    为其添加约束。使其布局匹配。
    然后将ContainerView自带的Controller删除掉。

    image

    StoryBoard中拖入一个tableViewController,并且从ContainerView拖线到TableViewController,选择Embed模式

    image

    下一步为上一步完成的Segue连线添加Identifier。

    image

    至此在StoryBoard上进行的操作都已经完成。接下来进入代码阶段
    从ViewController,包含的TableViewController进行显示之前会先在ViewController上面调用prepareForSegue方法。我们可以在这个方法里面对segue的destinationViewController进行设置

    @interface ViewController ()
    
    @property (nonatomic, strong) BaseTableViewController *segueBaseTableViewController;
    
    @end
    
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
        NSArray *dataArray = @[@"第一行",@"第二行",@"第三行",@"第四行"];
        if ([segue.identifier isEqualToString:@"BaseEmbedSegue"]){
            self.segueBaseTableViewController = segue.destinationViewController;
            self.segueBaseTableViewController.arrayData = dataArray;
        }
    }
    
    

    然后将dataArray作为BaseTableViewController的数据源。最终显示效果如下

    image

    布局显示原理为:显示的根控制器为ViewController。在上面包含一个ContainerView。ContainerView内部Embed有一个BaseTableViewController.

    内容部分有直接抄袭,但是做下笔记方便自己记忆

    相关文章

      网友评论

          本文标题:Embed segue:storyboard或xib布局

          本文链接:https://www.haomeiwen.com/subject/yplyectx.html