zoukankan      html  css  js  c++  java
  • 关于View和VIewController的关系和理解

    之前看过关老师的视频之后就有写关于视图切换的程序,不过那是很久之前了,那时候也不知道什么是View,什么是VIewController,就知道照着写。这次项目的时候,我又碰到了这个问题,我自以为比较能够掌握其中的精髓了,看了一遍关老师的视频讲解之后就开始自己做视图的切换。。。一塌糊涂,根本不能正常运行,完全弄不懂View和ViewController的关系,不能够正常使用了。所以各种搜索去弄个清楚。

    View

    VIew就是某个对象的视图,代表了这个对象的图形界面。
    所有能够显示的控件都有View的属性,比如UIButton,UISlider,UIImageView
    只不过某些控件的View是可见的属性,某些控件的View是不可见的属性。
    只要把想要显示的控件的View添加到当前正在显示的View上,就可以完成控件的显示了。
    常用代码如下:

        //self.view如果是当前正在显示的View的话,这句话就能够把recodeButton显示到屏幕上

        [self.viewaddSubview:recodeButton];

        //insertSubview能够把子视图插入到某个固定的层上

        [self.viewinsertSubview:recodeButtonatIndex:0];

    ViewController

    跟字面意思一样ViewController就是View的控制器。
    刚才所说的View添加子视图的方法就能完成对控件的显示,但是这段代码应该在哪里写呢,VC就是这样一个控制这些控件是否显示,怎么显示的地方。
    每个VC都有一个View属性,这个View就是这个VC里面所有控件的视图的存放的地方,显示VC的View就显示了所有的这个VC里面的控件的视图。

    我是这么理解的,我把程序分为几个独立的显示区。拿游戏做比方:比如开始界面为一个显示区,游戏登录界面为一个显示区,游戏界面为一个显示区。
    我会把这些显示区分开管理,每个显示区一个VC。在某个显示区的VC里面就有这个显示区的所有控件,包括这些控件的创建,使用,还有显示这些控件的操作。所有的控件的View都添加到VC的View属性里面。
    每个显示区的视图就是每个对应VC的View属性,如果要显示某个显示区,显示这个显示区的VC的View就可以了,

  • 相关阅读:
    2019-9-2-正则表达式30分钟入门教程
    2019-6-23-开源项目使用-appveyor-自动构建
    2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器
    2018-10-19-Roslyn-使用-Directory.Build.props-文件定义编译
    2019-4-29-dotnet-通过-WMI-获取系统安装软件
    2018-12-24-win10-uwp-求两个矩形相连的几何
    shell公共函数functions
    linux防火墙和SELinux
    ubuntu开启ssh
    文件夹操作
  • 原文地址:https://www.cnblogs.com/wisejoker/p/3399846.html
Copyright © 2011-2022 走看看