iOS之 view视图的创建和它的Frame、bounds、center属性

本文代码都是使用MRC手动内存管理机制,出现错误,请把release方法删除,即可,你也可以手动管理内存.

 //创建视图基本步骤

    //1.分配内存空间大小,并且初始化设置视图大小

    UIView *blue=[[UIView alloc]initWithFrame:CGRectMake(50, 275,280,125)];

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

    blue.backgroundColor=[UIColor blueColor];

    //3.将视图添加到window上去

    [self.window addSubview:blue];

    //4.释放我们创建的对象

    [blue release];

注意;这个是在代理类appDelegate.m文件中的

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

方法中实现的。这个方法在应用程序启动之后会进入此方法,只执行一次。




frame是相对父视图来说的,相信大家都能够了解,所以在此不做过多解释

bounds(边界)是相对自身来说的,例如下例代码:

UIView *view=[[UIViewalloc]initWithFrame:CGRectMake(20, 20, 160, 160)];

    view.backgroundColor=[UIColorblueColor];

    [self.windowaddSubview:view];


    UIView *view1=[[UIViewalloc]initWithFrame:CGRectMake(20, 20, 80, 80)];

    view1.backgroundColor=[UIColorredColor];

    //这里的0 0是相对原点

    view.bounds=CGRectMake(0, 0, 160, 160);

    [view addSubview:view1];

view蓝色区域是view1的父视图,view1是子视图,此时红色区域开始的位置(左上角)的点为(0,0)点,此时的bounds的 CGRectMake (0, 0, 160, 160)value值,0,0,代表为原点(0,0) (160,160)代表view的大小,此时,如果把(0,0)修改为(20,20),那么原来的(0,0)点就为(20,20),原点向左上移动了,所以图形也将会向左上方移动。如图。(切记:此时bounds是view的属性,如果改view1,他的大小和位置都不会发生变化。原因:自己sk。。。。


center(中心)的属性,是相对父视图来说的

 UIView *yellow=[[UIViewalloc]initWithFrame:CGRectMake(50, 150,300, 300)];

    yellow.backgroundColor=[UIColoryellowColor];

    [self.windowaddSubview:yellow];

    [yellow release];


    UIView *pink=[[UIViewalloc]initWithFrame:CGRectMake(0, 0,250, 250)];

     pink.backgroundColor=[UIColorpurpleColor];

   pink.center=CGPointMake(150, 150); //150,150是父视图yellow的300,300的中心点

   [self.window addSubview:pink];

    [pink release];

    UIView *blue=[[UIViewalloc]initWithFrame:CGRectMake(0, 0, 150,150)];

    blue.backgroundColor=[UIColorblueColor];

      blue.center=CGPointMake(125,125 );//(125,125 )是父视图pink的250,250的中心点

    [pink addSubview:blue];

    [blue release];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值