美文网首页
UIView详解之一:UIView简介

UIView详解之一:UIView简介

作者: 赵亦晨 | 来源:发表于2016-11-08 16:29 被阅读0次

    UIView是所有UI控件的父类。UIView类的对象负责屏幕上一个矩形区域的显示和行为动作。我们熟知的UIButton,UIImageview等等都继承自UIView,因此,UIView所具备的属性和方法,其子类也都同样具备。

    UIView类(视图类)负责管理屏幕上的一块矩形区域,包括这个区域内的显示样式,比如背景颜色,大小,以及行为动作,例如监测用户点击等触碰事件。

    视图还可以用于管理一个或者多个子视图。用户看到的某个样式,有可能是多个视图叠加后的显示效果。视图的这种布局方式,也称为视图层次,一个父视图可以包含任意多个子视图。同时,父视图的属性有时也会影响到子视图的样式以及用户交互行为。

    总体来讲,视图类的主要作用有如下3个方面:

    样式显示与动画:负责自身矩形区域内样式的显示,以及某些属性(大小、位置、角度)变化时的动画过渡效果;

    布局与子视图管理:管理子视图

    事件处理:接收触摸事件。

    在iOS开发中,UIView与UIViewController紧密协作,UIViewController负责UIView的加载与卸载。有关UIViewController的介绍,可以参考UIViewController相关教程:UIViewController介绍:1-创建控制器

    2、UIKit族图

    通过UIKit的族图可以看到,UIView继承自UIResponder,因此UIView可以响应用户交互。另外,我们熟知的一些常用控件都继承自UIView。需要特别说明的是,UIWindow也是继承自UIView,窗口可以认为是一个特殊的View。(有关UIWindow的知识,可以参见:UIWindow、UIView、UIViewController的关系

    3、最常使用的UIView属性

    在iOS开发中,有些UIView的属性是非常常用的,在此给大家简单列举一些,后面课程中会做详细讲解。

    /*UIView有关样式的常用属性*/

    @property(nonatomic)CGRectframe;

    @property(nonatomic)CGRectbounds;

    @property(nonatomic)CGPointcenter;

    @property(nonatomic)CGAffineTransformtransform;

    @property(nullable,nonatomic,copy)UIColor*backgroundColor;

    @property(nonatomic)CGFloatalpha;

    @property(nonatomic,getter=isHidden)BOOL              hidden;

    /*UIView管理子视图的常用属性和方法*/

    @property(nullable,nonatomic,readonly)UIView*superview;

    @property(nonatomic,readonly,copy)NSArray*subviews;

    @property(nullable,nonatomic,readonly)UIWindow*window;

    -(void)removeFromSuperview;

    -(void)addSubview:(UIView*)view;

    -(void)bringSubviewToFront:(UIView*)view;

    /*UIView有关动画的属性和方法*/

    +(void)animateWithDuration:(NSTimeInterval)duration animations:(void(^)(void))animations completion:(void(^__nullable)(BOOL finished))completion NS_AVAILABLE_IOS(4_0);

    +(void)animateWithDuration:(NSTimeInterval)duration animations:(void(^)(void))animations NS_AVAILABLE_IOS(4_0);

    /*UIView有关交互的常用属性与方法*/

    @property(nullable,nonatomic,copy)NSArray*gestureRecognizers;

    -(void)addGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer;

    -(void)removeGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer;

    相关文章

      网友评论

          本文标题:UIView详解之一:UIView简介

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