UIKit基础:2.UIView和UIViewController的概念

前面我们尝试创建了第一个使用UI控件创建的Hello World程序, 现在我们来讲讲它是根据什么原来来完成这么酷的工作.



在我们日常使用iPhone的过程中, 我们都会看到屏幕显示各种个样的图标, 比如设置里面的表格:



还有桌面的图标:



这些这些全部都是一个View, 也就是视图, 而他们全部都由ViewController管理, 就好比一辆车里面坐了4个人, 这四个人就是里面的成员, 而车就是一个大容器, 你想要到达哪里, 得由车所决定, 否则当你上了车, 车不动, 你哪里都去不了.



那么我们在哪里可以看得到ViewController呢? 下面我们来看看:



在上图可以知道我们可以在哪里找到软件的ViewController, 系统里面的我们肯定是看不到的, 你懂的~~~那么管理这个ViewController的代码就写在一个名叫ViewController的.h和.m文件, 但这个文件必须得继承UIViewController, 否则无法在Class里设置.



然后在ViewController中, 它会默认自动生成一个UIView属性, 用来管理View里面的对象, 好比如上图的几个UI控件一样, 都由UIView所管理, 而且在iOS里所有的控件都是继承与UIView, 不信的话可以进去头文件看看~~



说到这里, 有些人肯定会很奇怪, iOS控件到底有多少个? 在哪里可以找得到?  下面让我们来看看:



Xcode的右下角就可以找得到这些控件, 这里面几乎所有的iOS常用的控件都在里面了, 还有一些手势等等的东西, 全部都在这里, 但这个要通过storyboard来创建, 虽然storyboard直观好用, 但也有一定的局限性, 我们都知道这些控件里面其实就是一些方法的封装, 所以无论在什么语言的开发里, 代码才是王道, 代码才是万能的, 而storyboard只是方便我们更有效率的创建app, 当然我们以后开发app的时候不要纠结死在一定要使用代码开发或者storyboard开发, 我们要学会劳逸结合, 一切为了效率.





这里还有一点, 在ViewController中, UI对象如果在默认的UIView里面, 那么该对象的坐标轴就以默认的UIView的左上角为原点, X轴从左往右, Y轴从上往下, 比如:



如果在UIView里面再创建一个UIVIew, 而这个UIView里面又有UI对象, 那么里面的UI对象就以我们创建的UIView的左上角为原点, 比如:



这里面蓝色这一块是一个我们自己创的UIView, 而里面的UITextField是这个View里面的UI对象, 所以蓝色的这个块View是这个UITextField的父视图, 所以它的X轴和Y都由蓝色View的坐标地址所决定.



好了, 这次我们就讲到这里, 下次我们继续~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值