关闭

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

264人阅读 评论(0) 收藏 举报
分类:

本文代码都是使用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];


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22763次
    • 积分:600
    • 等级:
    • 排名:千里之外
    • 原创:38篇
    • 转载:2篇
    • 译文:1篇
    • 评论:3条
    文章分类
    最新评论