iOS UIView

    在Object-C中,NSObject是所有类的基类。同样,在UIKit框架中,也存在一个这样的基类UIView。从继承关系上看,UIView是所有视图的根。


UIView类关系图

    ​UIView子类大体分为“控件”和“视图”两类,二者都继承于UIView。UIView类的继承层次如图:


    ​UIControl类是控件类,其子类就是一些控件,之所以称为控件,是应为他们可以响应一些交互的事件。

    ​

应用界面的构建层次

下图是一个应用界面的构建层次图,该应用有一个UIWindow,其中包含一个UIView根视图。根视图下有3格子视图——Button1、Button2、和UIView(view2),其中子视图UIView(view2)中存在一个按钮Button3


一般情况下,应用中只包含一个UIWindow。UIWindow包含一个根视图UIView。根视图一般只有一个,放于UIWindow中。根视图的类型决定了应用程序的类型。下图为各对象间的关系


    ​应用界面的构建层次是一种树形结构,UIWindow是树根,根视图是树干,其他对象就为树冠。在层次结构中,上下两个视图是父子关系。除了UIWindow,每个视图的父视图有且只有一个,子视图可以多个。他们关系设计3个属性


superview: 获得父视图对象

subviews: 获得子视图对象集合

window 获得视图所在的UIWindow对象



视图分类

    ​为了方便,UIKit框架中的视图分成以下几个类型:

控件 继承自UIControl类,能够响应用户高级事件

窗口 UIWindow对象,一个iOS应用只有一个UIWindow对象,他是所有子视图的根容器。

容器视图 包括UIScrollView、UIToolBar以及他们的子类。UIScrollView的子类有UITextView、UITableView和UICollectionWindow,在内容超出屏幕是,它们可以提供水平或垂直滚动条。UIToolbar是非常特殊的容器,它能够包含其他控件,一般置于屏幕底部,特殊情况下也可以置于屏幕顶部。

显示视图 用于显示信息,包括UIImageView、UILabel、UIProgressView和UIActivityIndicatorView等。

文本和Web视图 提供了能够显示多行文本的视图,包括UITextView和UIWebVIew,其中UITextView也属于容器视图,UIWebView是能能够加载和显示HTML代码的视图。

导航视图 为用户提供从一个屏幕到另外一个屏幕的导航视图,它包括UITabBar和UINavigationBar。

警告框和操作表 用于给用户提供一种反馈或者与用户进行交互。UIAlertView视图是一个警告框,它会以动画形式弹出;而UIActionSheet视图给用户提供可选的操作,它会从屏幕底部滑出


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值