UIView

来源:互联网 发布:大数据接入dpi 编辑:程序博客网 时间:2024/06/07 14:52

一、UI编程概述
  UI:用户界面,英文User和Interface的缩写。
  UI设计是指对软件的人机交互,操作逻辑,界面美观的整体设计。
  软件设计可分为两个部分:编码设计与UI设计。
二、UIWindow
  UIWindow:UIView的子类,负责管理和协调应用程序的显示。一般情况下,一个应用程序只有一个UIWindow对象。并且UIWindow对象的尺寸与屏幕等大。
  UIWindow的创建:

//Xcode7以后,没有空白模板,我们选择使用singleView模板.该模板默认有storyBoard(故事板),会自动创建window.    //1.创建一个window对象,并设置其大小.    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];    //2.设置window的背景颜色    self.window.backgroundColor = [UIColor whiteColor];    //3.设置当前的window为主窗口并可见.    [self.window makeKeyAndVisible];    //在Xcode7之前,只需要完成创建window的步骤,程序即可运行.但Xcode7以后,当手动创建window之后必须给其设定根视图控制器.否则程序崩溃.    //1.创建一个viewController对象.    ViewController *vc = [[ViewController alloc] init];    //2.将viewController对象设置为window的根视图控制器    self.window.rootViewController = vc;

三、**重点内容**UIView
  UIView:iOS中所有视图的基类。在我们开发的过程中占有相当重要的地位。
  UIView表示屏幕上的一块矩形区域。因为iOS中几乎所有可视化控件都是UIView的子类。负责渲染区域的内容并且响应该区域内发生的触摸事件。
  UIView的功能:
  1. 管理矩形区域里的内容
  2. 处理矩形区域中的事件
  3. 子视图的管理
  4. 实现UIView动画
  5. UIView作为父类,子类也具有这些功能
  iOS中的坐标系是以手机屏幕左上角为原点分别往右为x轴正方向,往下为y轴正方向。
  确定一个视图的位置,需要两个条件:
  1. 一个坐标–CGPoint类型的变量存储,其有两个成员变量x, y
  2. 视图的尺寸–CGSize类型的变量存储,其有两个成员变量width,height。
  frame是UIView的重要属性,它决定了视图的大小和位置。frame是CGRect类型,是基于它父视图的坐标系而言的。
  UIView常用属性:

属性名 描述 示例 center 视图的中心点,可以更改视图位置 view.center = CGPoint(100,200); hidden 控制视图显示或隐藏 view.hidden = YES;//隐藏 view.hidden = NO;//显示 alpha 控制视图的透明度 view.alpha = 0~1 superView 获取本视图的父视图 view.superView subViews 获取本视图的所有子视图 view.subViews tag 给视图标记,用于找到该视图 view.tag = 101; [superView viewWithTag:101];

  添加视图:

方法名 描述 示例 addSubview: 添加子视图 [superView addSubview:view]; insertSubview:atIndex: 在指定的index处插入子视图 [superView insertSubview:orangeView atIndex:2]; insertSubview:aboveSubview: 在指定的视图上面添加子视图 [superView insertSubview:d aboveSubview:a]; insertSubview:belowSubview: 在指定的视图下面添加子视图 [superView insertSubview:e belowSubview:b];

  视图层次管理:

方法名 描述 示例 bringSubviewToFront: 把指定的子视图移到最前面 [superView bringSubviewToFront:redView]; sendSubviewToBack: 把指定的子视图移动到最后面 [superView sendSubviewToBack”redView]; exchangeSubviewAtIndex:withSubviewAtIndex: 交换两个指定索引位置的子视图 [superView exchangeSubviewAtIndex:0 withSubviewAtIndex:2]; removeFromSuperview: 把子视图从父视图上移除 [redView removeFromSuperview];
原创粉丝点击