OC UIView

来源:互联网 发布:javashop4.0 源码 编辑:程序博客网 时间:2024/05/17 03:49

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

{

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

    // Override point for customization after application launch.


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

    //更改视图的颜色

    blueView.backgroundColor = [UIColorgreenColor];

    //将blueview添加到self.window上.

    [self.windowaddSubview:blueView];

    [blueViewrelease];

    //tag用于唯一标示一个视图,(尽量用100以上)

   UIView *orangeView = [[UIViewalloc] initWithFrame:CGRectMake(100,200, 300, 100)];

    blueView.tag =110;

    //通过父视图以及子视图的tag值,来获取对应的子视图

    NSLog(@"aa%@",[self.windowviewWithTag:110]);

    orangeView.backgroundColor = [UIColororangeColor];

    [self.windowaddSubview:orangeView];

    [orangeViewrelease];

   //

   UIView *redView = [[UIViewalloc] initWithFrame:CGRectMake(110,234, 100, 100)];

    redView.backgroundColor = [UIColorredColor];

//    [self.window addSubview:redView];//直接添加到最前面

    [self.windowinsertSubview:redViewatIndex:2];//将子视图查到父视图指定的位置(按下标插入)

    [redViewrelease];

    //视图属性

    //center获取中心点

    NSLog(@"%@",NSStringFromCGPoint(redView.center));

    //视图的frame

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

    //透明度alpha

    redView.alpha =0.5;

    //显隐性

    redView.hidden =NO;//yes隐藏,no看到

    //获取视图的父视图superview

   NSLog(@"%@",redView.superview);

    //获取视图的(所有)子视图subviews

    //视图是以数组的形式管理所有的子视图的,数组中视图的顺序和视图的添加顺序一致

    //后添加的视图如果和先前添加的视图有冲突的地方,会将先添加的给覆盖掉

   NSLog(@"%@",self.window.subviews);

    //NSStringFromCGPoint 将第一个CGfloat类型转化为nsstring类型

    

    //当吧一个视图的添加到父视图上之后,父视图会对子视图retain,保有一份所有权

    //让当前视图可视

   /**

     *  UIView (视图)表示屏幕上的一块巨型区域,在屏幕上看到的内荣都是UIView或者他的一个子类,UIView 是一个基类,提供了关于视图的展示,管理以及层次关系的基本功能

     视图的使用分为四大不

     1.创建视图对象

     2.配置属性(比如修改背景颜色)

     3.添加到父视图

     4.释放所有权

     父视图与子视图的关系:比如视图A添加到视图B上,视图B叫做视图A的父视图,视图A叫做视图B的子视图

     姥姥紧急:一个视图只能有一个父视图,可以有多个子视图.

     */

    //随机赋色

   for (int i =0 ; i < 7; i++) {

       UIView *view = [[UIViewalloc] initWithFrame:CGRectMake(0 + i *20, 0 + i *20,320 - 40 * i ,568 - i * 40)];

       CGFloat color = (arc4random() %256 /255.0 );

       CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;

       CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;

        view.backgroundColor = [UIColorcolorWithHue:color saturation:saturation brightness:brightnessalpha:1];

        [self.windowaddSubview:view];

        [viewrelease];

    }

    

    self.window.backgroundColor = [UIColoryellowColor];

    //让当前window为主window.并且可视.

    [self.windowmakeKeyAndVisible];

    return YES;

}


0 0
原创粉丝点击