UI-基础之视图

//------------------------------UIWindow--------------------------//

1、UIWindow:是 UIView 的子类,用于管理、协调应用中显示的窗口   它是视图中的根view

iOS 应用程序通常只有一个UIWindow,应用程序在启动时创建这个UIWindow,并往窗口中加入一或多个视图,然后将它显示出来,UIWindow的大小是根据设备的大小创建的,如果超出设备大小,那超出部分不会被显示,也不能对超的视图的事件进行操作(旋转、点击等)

(UIWindow 好比是面墙,这面墙的大小是根据这个房间的大小决定的,如果你UIWindow这面墙 超过了房间大小,你在超出房间范围的墙面 贴上你的照片,你在屋里是看不到你贴的照片的 你也不可以在屋里 把屋外墙上贴的照片 摘下来)

UIWindow主要作用:

1、他是个容器,给 view 提供展示的区域;

2、将事件(如:旋转、点击等)分发给 view

UIWindow的主要属性:

1、keyWindow :(@property(nonatomic,readonly,getter=isKeyWindow) BOOL keyWindow;) BOOL类型,只读,判断是否是当前应用的keywindow (keywindow 是指可接收到键盘输入及其他非触摸事件的UIWindow,只能有一个keywindow)2、rootViewController:UIViewController (视图控制器)类型,给UIWindow添加一个根视图控制器

//----------------------------UIView------------------------------//

1、UIView:UIView是视图,代表屏幕上的一个矩形区域。各种UI控件都属于view,不同的控件属于不同种类的视图,iOS中所有能看到的内容都是UIView或其子类。

2、创建一个视图:初始化视图并给他一个坐标,把这个视图添加到你需要显示的图层上

frame:CGRect类型 就是坐标,是在要添加的视图上的位置和自身的大小。他是一个结构体,这个结构体里面有origin起点位置(在2D中确定一个位置,可以用两个点来确定(如X轴Y轴中的(10,20))),还有size自身的大小,有起点位置了,再设置他的重点位置,就可以得到他的大小

struct CGRect {//定义了一个叫做CGRect的结构体,里面包含叫CGPoint类型的origin(X、Y起点到原点的距离)和一个叫CGSize类型的size(视图的大小)

CGPoint origin;

CGSize size;

};

typedef struct CGRect CGRect;//表示struct CGRect和CGRect是同一个东西

视图的层级关系:1、如果两个视图坐标一样 先添加的视图,会被后添加的视图覆盖住

center:CGPoint类型  相对于父视图来说的,视图在父视图坐标系统中的中心点。

bounds:指的是视图在视图本身的坐标系统中的大小(位置起点是原点(0,0,视图的宽,视图的高))。

//center的计算方法:

//    center.x = frame.origin.x - frame.size.width/2;

//    center.y = frame.origin.x - frame.size.width/2;

//-------------------------视图层次关系的调整------------------------//

在实际开发项目的时候,可能会遇到需要把某个视图  移到最底层,或者移到最上层 等操作 ,我们就用到本节课所讲的层次关系的调整

主要用到的方法:

addSubview:添加一个子视图到接收者 并让它在最上面显示出来

bringSubviewToFront:把指定的子视图移动到顶层

sendSubviewToBack:移动指定的子视图到它相邻视图的後面

removeFromSuperview:移除视图

代码实现:

//我们往同一个父视图上面添加子视图的时候, 系统会自动帮我们 记录一个index 只要添加一个子视图 就会增加1.从0开始。

//    removeFromSuperview 从父视图移除视图

//    [gview removeFromSuperview];

//    总结:子视图依赖于父视图, 如果父视图位置发生改变 子视图位置也会发生改变

//    因为frame是根据它的父视图来定义位置信息的

//    如果移除父视图  父视图上面上面的子视图也会被移除

//---------------视图中心点-------------------

//    center 中心点

//    相对于它父视图来说的,改变父视图的中心点

//    X =  宽/2;Y = 高/2;

// -------------三种种方式获取中心点------------------

//第一种:

// view.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, [UIScreen mainScreen].bounds.size.height/2);

//第二种:

// view.center =CGPointMake(CGRectGetWidth([UIScreen mainScreen].bounds)/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);

//第三种:

//    父视图真正的中心点

view.center = self.window.center;

时间: 2024-10-30 06:30:54

UI-基础之视图的相关文章

ios开发-UI基础-应用管理(单纯界面)改进5-使用代理实现监听下载按钮的点击(delegate)

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 前几篇文章介绍了一个应用管理的小应用,从最开始的单纯实现功能,一步一步就行改进\封装,上篇文章是使用xib进行了优化,本篇文章使用代理实现监听下载按钮的点击. 在原来的基础上,使用代理的主要思路分析: 首先要新建一个协议 声明协议的要实现的方法(一般为optional) 声明一个遵守该协议的代理的属性 使用代理,通知其代理完成操作 在代理中的实现步骤: 遵守协议 设置代理(一般通过拖线

UI基础控件UIButton

一:UI基础 Button控件 1,简单说明:UIView和UIViewController间的关系 一个应用并不一定要有UIViewController,但是为了管理界面事件(比如按钮点击事件)一般我们在创建应用时要先创建控制器,控制器拥有一个UIView属性. UIView用来展示数据.及用户输入数据.监听事件的触发(比如按钮的touchupinside事件) 而控制可以用来处理这些事件,赋值UIView的管理. 按钮可以展示文字和图片,也就是说按钮具有这些属性. 2,按钮的三种状态 nor

Android UI基础

Android UI概述 Android UI由View和ViewGroup组成. ViewGroup是不可见的,用于组织和排版View和ViewGroup. View用户显示内容,以及响应用户的操作. 可以按照需要安排UI的叠放,不过叠放的层数越少,性能上来说越好. Android UI可以在code中生产,不过更加方便的方式是在Android的XML文件中定义UI. Layouts 通过XML方式实现 可以通过2种方式定义界面结构. 1. 在XML定义视图结构 2. 在运行时动态创建视图结构

iOS开发UI基础—IOS开发中Xcode的一些使用技巧

iOS开发UI基础-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下

IOS开发UI基础—在UIImageView中添加按钮以及Tag的参数说明

ios开发UI基础-在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而Im

iOS开发UI基础—xib的简单使用

iOS开发UI基础-xib的简单使用 一.简单介绍 xib和stotyboard的比较,一个轻量级一个重量级. 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立view模型(设置长宽等参数) 调整布局和内部的控件 完成后的单个view 3.使用xib文件的代码示例 YYViewController.m文件代码如下: 1 // 2 // YYViewController.m 3 // 10

iOS开发UI基础—简单的浏览器查看程序

iOS开发UI基础-简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件的对象,需要添加监听方法 左边按钮 右边按钮 二.实现基本功能的程序 1 // 2 // YYViewController.m 3 // 03-图片浏览器初步 4 // 5 // Created by apple on 14-5-21. 6 // Copyright (c) 2014年 itcas

iOS开发UI基础—transframe属性(形变)

iOS开发UI基础-transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建"基于控件初始位置"的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建"基于trans

OS开发UI基础—手写控件,frame,center和bounds属性

OS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: [btn addTarget:sel

UI基础

UI概述UI(User Interface):用户界面,用户能够看到的各种个样页面元素.iOS App = 各种各样的UI控件 + 业务逻辑 + 算法.UIWindowwindow是窗口,每个App 都需要借助window将内容展现给用户看.在IOS中,使用UIWindow类来表示窗口.通常一个应用程序只创建一个UIWindow 对象.因为window的主要作用是呈现内容给用户.因此我们不会对window做太多操作.在创建window的时候,需要指定window的大小.通常window的大小(f