学习UI01

来源:互联网 发布:淘宝怎么查快递到哪了 编辑:程序博客网 时间:2024/06/06 03:56

IOS是Apple公司的移动操作系统。

UI(User Interface):用户界面,用户能看到的各种各样的页面元素。

IOS App = 各种各样的UI控件+业务逻辑和算法。

UIWindow

window是窗口,每个app都需要借助window将内容展现给用户看。

在ios中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象。并不对对window做太太多操作。

//创建窗口大小,并设置窗口的大小

//窗口大小跟屏幕一样大,屏幕的大小通过UIScreen类获得

    self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];

//设置窗口的背景色

    self.window.backgroundColor = [UIColorwhiteColor];

//设置刚创建的window对象,作为主窗口并展示在屏幕上

//屏幕只能展示一个window对象

[self.windowmakeKeyAndVisible];//窗口显示在屏幕上

 UIView

重要属性:hidden,alpha,superview,subviews,tag

view(视图):代表屏幕上的一个矩形区域。ios中用UIView来表示视图

ios中所有能看见的内容都是viewhuo其子类。

//1.创建视图对象

    CGRect greenRect =CGRectMake(100,100, 100,100);//设置视图要显示的位置origin(x,y)和大小size(width,height)

    UIView * greenView = [[UIViewalloc] initWithFrame:greenRect];//初始化优先使用自己的初始化方法

//2.设置视图的背景颜色

    greenView.backgroundColor = [UIColorgreenColor];//backgroundColor背景颜色,属性设置要找到同类型

//3.将绿色视图添加到窗口上显示

    [self.windowaddSubview:greenView];//执行addSubviewgreenView引用计数加1Subview子视图

//4.释放已经创建的绿色视图

    [greenView release];

UIView的属性frame是NSRect结构体类型包含:origin(CGPoint结构体类型:x,y),size(CGSize结构体类型:width,height);

//将结构体类型转换为NSString类型


NSLog(@"%@",NSStringFromCGRect(redView.frame));


3.5

     大小  320x480 

     分辨率:640x960     每个点分到4个像素

     320x568 

 原点 (0,0)-----------x

          |

          |

          |y

1.frameUIView的重要属性,CGRect类型。是我们做视图布局的关键

2.frame决定了视图的位置和大小

3.CGRect中包含两个成员变量CGPoint类型的originCGSize类型的size

4.CGSize中包含两个成员变量 x,y

5.CGSize中包含两个成员变量 widthheight

frame的origin和size是相对于父视图来说的;CGRectMake()函数可以帮我们快速构造一个CGRect变量

6.ios坐标系的单位是点

7.3.5(3gs44s)320*480


8.4(55c5s)  320*568

center

center(中心点)也是view重要的属性。

center是CGPoint结构体类型,(x,y);

//center是中心点

greenView.center =CGPointMake(300300);

center与frame有着密切的联系,改变相互影响。

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

center.y= frame.origin.y+frame.size.height/2;

self.window.subviews//subviews显示所有子视图,返回NSArray

aView.superview//显示父视图


视图是用树形结构管理子视图.

     addSubview添加视图:

1.同级视图,后添加覆盖前添加的视图。

2.子视图覆盖父视图,不能覆盖与父视图同级的视图;

方法insertSubview:(UIView *)atIndex:(NSInterge)添加视图

     根据下标插入视图

     方法

superview insertSubview:dView belowSubview:aView//bView插入aView的下面

superview insertSubview:dView aboveSubview:aView//bView插入aView的上面

superview bringSubviewToFront:aView//将视图aView,移动到最前面

superview sendSubviewToBack:bView//将视图bView,移动到最后面

superview exchangeSubviewAtIndex:withSubviewAtIndex://视图交换位置

[cView removeFromSuperview]//cView视图消失

1、一个视图作为父视图时,可以添加多个子视图。

2、一个视图作为子视图时,只能有一个父视图。

3、新添加的(后添加的)的子视图,永远显示在其他同级的子视图的前面(上面)

4、父视图使用数组管理所有的子视图subViews

5、视图使用树形结构,管理所有子视图

6、父视图可以修改已存在的所有子视图的关系:提前,置后,交换。子视图可以从父视图上移除。以上操作均会影响subViews

7、父视图可以直接添加子视图。插入子视图:根据索引值;显示在指定子视图上面;显示在指定子视图的下面。

8viewWithTag:  通过tag值搜索本视图及所有子视图。tag值默认为0.通过tag值搜索本视图及所有子视图。tag值两位起10(如果子视图是tag=0,返回的是父视图,因为先搜索父视图)


//属性hidden,父视图隐藏了子视图一起隐藏

dView.hidden = YES;//隐藏


dView.hidden = NO;//显示(默认)

//属性alpha,透明度范围0.0-1.0,默认(1.0

//父视图改变透明度,子视图一起改变;子视图不影响父视图


aView.alpha = 0.5;

要点:App靠window来呈现内容,一个程序一般只创建一个window。

    App中能看到的元素,都是UIView及其子类。

    UIView作为所有可视化控件BaseClass,提供了许多属性和方法。显示效果控制(frame,alpha等),视图添加和移除,视图层次调整。

0 0