美文网首页
UIContainerView(容器视图)和自定义容器视图

UIContainerView(容器视图)和自定义容器视图

作者: JSOfJackChen | 来源:发表于2016-11-24 23:18 被阅读95次

    1、容器视图

    屏幕快照 2016-11-24 下午10.01.11.png

    容器视图本身就是一个UIView控件,要说它的特别之处只是在于它内嵌了一个普通的控制器,这个控制器的视图大小和容器视图的大小保持一致。

    2、自定义容器视图

    2.1、自定义容器视图的步骤:
    2.1.1、创建一个控制器对象one
    2.1.2、把控制器对象one作为子控制器添加到宿主控制器中
    2.1.3、把控制器one的视图添加到宿主控制器的视图中
    2.2.4、实现didMoveToParentViewController方法【苹果的解释:如果有动画参与的话,必须要写这行代码!否则:动画结束后,控制器的视图无法接受用户交互!】
    2.2.5、如果不实现2.1.2步骤,会造成图3中结果。响应者链断裂,当用户点击one控制器界面中的按钮的时候,按钮无法响应事件。

     CLOneViewController *one = [[CLOneViewController alloc] init];
        //添加到宿主控制器,成为宿主的子控制器
        [self addChildViewController:one];
        // 设置视图的frame
        one.view.frame = self.view.bounds;
        // 把one的view添加到宿主的视图中
        [self.view addSubview:one.view];
        // 保证会有动画效果的情况下,程序能够正常运行
        [one didMoveToParentViewController:self];
    // 在宿主控制器中,如果没有成为宿主的子控制器,one中的view的子控件无法响应用户事件,点击one中的view的按钮的时候会没有反应。
    
    图2.gif 图3.gif 图4.png

    3、下面是Xcode7是苹果官方给出的自定义视图的建议

    屏幕快照 2016-11-24 下午11.13.32.png 屏幕快照 2016-11-24 下午11.20.53.png 屏幕快照 2016-11-24 下午11.25.06.png

    相关文章

      网友评论

          本文标题:UIContainerView(容器视图)和自定义容器视图

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