UIView

来源:互联网 发布:arp mac ip 编辑:程序博客网 时间:2024/05/16 04:17

#import <UIKit/UIKit.h>


@interface AppDelegate :UIResponder <UIApplicationDelegate>


@property (strong,nonatomic)UIWindow *window;  //该属性创建时,系统以写好


@end

#import "AppDelegate.h"


@interface AppDelegate ()


@end


@implementation AppDelegate


- (void)dealloc

{

    // 一个被retain特性修饰的属性,需要在dealloc中进行release操作

    [_windowrelease];

    [superdealloc];


}


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    // 创建一个window对象,window和屏幕一样大

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

    // Override point for customization after application launch.

    

    // 改变window的颜色为白色

    self.window.backgroundColor = [UIColororangeColor];

    

    // window设置为app的主window并且可见

    [self.windowmakeKeyAndVisible];

    

    // 内存管理

    [_windowrelease];

    

    

    // UIView

    

    //所有控件类的基类

    //规定了所有控件的基本行为和属性

    

    //代表屏幕上的一块矩形区域

    

    //学习一个新类的步骤:

    // 1.看继承关系

    // 2.这个类有没有初始化方法或者遍历构造器


    //创建一个Vie

    //创建一个矩形的View,用系统的初始化方法,对四个结构体的成员变量进行赋值

   UIView *aView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,100, 100)];

    

    // 改变view的颜色

    aView.backgroundColor = [UIColorredColor];    

//view加到window,viewwindow上显示

    //一个视图对应着一个父视图,对应多个子视图(subview),任何一个视图都可以成为其他视图的父视图

    //父视图通过数组来管理自身的子视图

    [self.windowaddSubview:aView];  //先添加到数组Subview,是引用计数+1,再释放

    //内存管理

    [aViewrelease];

    

    

   UIView *bView = [[UIViewalloc]initWithFrame:CGRectMake(50,50,100, 100)];

    

    bView.backgroundColor = [UIColorblueColor];

    

    [self.windowaddSubview:bView];

    

    [bViewrelease];

    

    

    // 视图的层级关系

    

    // 1.是一个树形关系(树状结构)

    // 2.父视图和子视图是相对而言的,一个视图最多只有一个父视图,但是可以有很多子视图

    // 3.一个视图的所有子视图,先加的view在层次关系的最下面,后加的view在上面

    // 4.一个视图会对自己的子视图有所有权,可以随意调整子视图顺序

    // 5.从父视图移除是子视图来调用方法

    // 6.子视图的坐标(位置)是以父视图的坐标系为基准设置

    

    //将某个子视图放到最下面

//    [self.window sendSubviewToBack:bView];

    

    //bView从父视图移除

//    [bView removeFromSuperview];

    

    

   UIView *cView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,80, 80)];

    cView.backgroundColor = [UIColorcyanColor];

    [bViewaddSubview:cView];

    [cViewrelease];

    

    

    // 视图的相关属性

    

    // 1.frame : 控制view的位置大小,任何时候赋值都会有相应的改变

    

    bView.frame =CGRectMake(200,100,100, 300);

    

    // 2.center :

    

    bView.center =CGPointMake(100,300);

    

    // 3.alpha : 透明度(0-1)

    

    bView.alpha =1;

    

    // 4.hidden : 隐藏(YES)/显示(NO)

    

    bView.hidden =NO;

    

    // 5.tag : 标签

    //方便父视图快速找到子视图

//tag值默认是0,父视图会根据tag值找到对应的视图,从自身开始搜索,直到搜到对应的tag的视图,tag值的设置最好大一点,不能重复,相当于数据库的主键

    bView.tag =1000;

    

    //通过这个方法找子视图

   UIView *rView = [self.windowviewWithTag:1000];

    

    rView.backgroundColor = [UIColorblackColor];

    

    //让一个view只显示自己内部的内容,超出部分不显示

    bView.clipsToBounds =YES;

    



0 0