iOS UI基础控件之UIView详解

作者: tanyufeng | 来源:发表于2016-05-10 10:14 被阅读1138次

UIView 简介


什么是UIView

UIView是窗口上的一块区域,是iOS中所有控件的基类,我们在app中所有能看见的都是直接或间接继承与UIView的.我们把UIView叫做视图.

UIView的作用

  • 负责内部区域的内容渲染。
  • 负责内部区域的触摸事件。
  • 管理本身的所有子视图。
  • 处理基本的动画。

UIView创建与使用


创建UIView

    //通过frame创建View
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
    
    //添加到父视图中
    [self.window addSubview:view];

视图是一块区域,所以创建UIView的同时需要设置他的位置大小frame是一个包含位置和大小的结构体;

UIView 的基本属性

    //设置视图的背景颜色
    view.backgroundColor = [UIColor redColor];
    
    //修改视图的大小或者位置
    view.frame = CGRectMake(200, 100, 200, 200);
    
    //设置视图的透明度[0.0, 1.0]
    view.alpha = 0.5;
    
    //设置是否隐藏
    view.hidden = NO;
    
    //设置视图的标签
    view.tag = 100;
    
    //中心点
    view.center = self.window.center;
    

注意:这里特别说下frame, 他是UIView一个非常重要的属性,决定了UIView的大小和位置;frame中设置的位置是以UIView的父视图坐标系为基准,需要特别注意的是不可以修改frame中的某个成员变量,只能整体修改frame

子视图管理


  • NSArray *subviews
    • 管理所有的子视图(控件)
    • 数组元素的顺序决定着子控件的显示层级顺序(下标越大的,越显示在上面)
    • 所有子视图的管理都是对subviews数组的管理

添加视图

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    view2.backgroundColor = [UIColor greenColor];
    view2.tag = 200;

    //将view2添加到view上
    [view addSubview:view2];

通过上述代码添加后,view2view的子视图,viewview2的父视图;
所有视图之间有层次级别关系,越是在后添加的视图,越显示在上面,前面添加的在下面

插入视图

    //将一个yView插入到view的子视图中,序号为0的位置
    //序号越小越靠近下面,序号越大越靠近上面
    //序号的范围[0,子视图的个数)
    [view insertSubview:yView atIndex:0];
    
    //将oView插入到view的子视图中view2的下面
    [view insertSubview:oView belowSubview:view2];

    //将人View插入到view的子视图中, yView的上面
    [view insertSubview:rView aboveSubview:yView];
    

删除视图

UIView中子视图管理和数组对元素的管理不一样,他不能通过父视图去删除子视图,只能子视图自己将自己从父视图中删除.

    //view2将自己从父视图中移除
    [view2 removeFromSuperview];

获取视图

视图没有名字,但他有标识,所以要想获取视图中的指定子视图,我们可以通过子视图的标识来获取,方法如下:

    //获取view下子视图标识为200的视图
    UIView *subView = [view viewWithTag:200];

更改视图的显示层级

    //通过父视图,将某个子视图在最上面显示
    [view bringSubviewToFront:yView];
    
    //通过父视图, 将某个子视图在最下显示
    [view sendSubviewToBack:view2];

如果觉得文章不错,请帮忙点击文章下方的喜欢!!
你的支持将是对我最好的鼓励, 谢谢!!!

相关文章

  • iOS-UI控件精讲之UILabel

    相关阅读1.iOS-UI控件精讲之UIView2.iOS-UI控件精讲之UILabel(本文)...待续 UILa...

  • iOS UI基础控件之UIView详解

    UIView 简介 什么是UIView UIView是窗口上的一块区域,是iOS中所有控件的基类,我们在app中所...

  • iOS资源汇总

    iOS·Objective-C UI控件详解整理 iOS UI控件详解—「UIScrollView滚动视图」 iO...

  • iOS知识点总结(一)

    iOS需要学习的内容 UI 基础控件: UIButton、UIImageView、UILable、UIView、U...

  • ios-梳理-ios基础

    这些基础是必须掌握的! ios基础--UIView UIView是做UI界面的基础,这里不啰嗦常用的控件UITab...

  • iOS-UI控件精讲之UIView

    道虽迩,不行不至;事虽小,不为不成。 相关阅读1.iOS-UI控件精讲之UIView(本文)2.iOS-UI控件精...

  • iOS核心动画之CALayer

    CALayer简介 在iOS中几乎所有能看的见的UI控件都是继承自UIView,所有的继承自UIView的控件之所...

  • 自定义UI控件的技巧

    UIView控件只是一个矩形的空白区域,并没有任何内容。iOS应用的其他UI控件都继承了UIView,这些UI控件...

  • UI基础知识

    UI基础知识 控件相关 大部分UI控件都基于UIView,因此控件不仅具有一些自己独有的属性,还有UIView的属...

  • UI--UIView

    前言:UI控件整理之UIView 一、UIView 效果图基本代码实现

网友评论

    本文标题:iOS UI基础控件之UIView详解

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