美文网首页
详解ios中frame和bounds的区别

详解ios中frame和bounds的区别

作者: 统领三界 | 来源:发表于2016-02-24 20:51 被阅读296次

在ios中有的控件有frame和bound两个属性,这两个属性的参数非常相似

    aview.frame = CGRectMake(CGFloat x, CGFloat y, CGFloat 
width, CGFloat height)

    aview.bounds = CGRectMake(CGFloat x, CGFloat y, 
CGFloat width, CGFloat height)

两者的共同点是后面两个参数都是设置控件的大小,区别是前两个参数,对于frame来说,CGFloat x, CGFloat y,两个参数是aview相对于父视图的位置,二bounds是aview上面的子视图在aview上面的起始位置.我们用代码看下效果
添加两个view分别是aview 和bview 其中aview添加到背景上面,bview作为子视图添加到aview上面.

  UIView *aview = [[UIView alloc]init];
    aview.backgroundColor = [UIColor redColor];
    aview.frame = CGRectMake(100, 100, 200, 200);
    [self.view addSubview:aview];


9E172A2F-859C-4DB7-B561-5AF2B477752F.png

下面我们添加bview

UIView *bview = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
bview.backgroundColor = [UIColor grayColor];
[aview addSubview:bview];

效果如下图

E71B3B88-1DCC-487B-8F09-08E796BD363C.png

前面我们说了frame的前面两个参数 是相对于父视图的位置,如果我们没有设置父视图aview的bound 那我们默认的参考系原点就是父视图的左上角的起始位置

下面我们修改下父视图aview的bounds看看会有什么变化

    aview.bounds = CGRectMake(50, 50, 200, 200);

修改之后效果如下

75AE8982-D800-48FA-9039-C9FA1C7F0B29.png

可以看到这个bview的位置发生了变化,相对于原来的原点分辨向上向左移动了50的距离.

如果改变下前面两个值

    aview.bounds = CGRectMake(-50, -50, 200, 200);

效果如下


526FA5D6-FC00-467D-B946-7A6AD640B6EF.png

相关文章

  • iOS 面试题目

    1、iOS frame和Bounds 以及frame和bounds区别2、 ios webView 加载HTML字...

  • iOS纪录

    (1)View的Frame与Bounds区别 摘自 ios view的frame和bounds之区别(位置和大小)...

  • 详解ios中frame和bounds的区别

    在ios中有的控件有frame和bound两个属性,这两个属性的参数非常相似 两者的共同点是后面两个参数都是设置控...

  • 深入探究frame和bounds的区别以及setbounds使用

    深入探究frame和bounds的区别以及setbounds使用 深入探究frame和bounds的区别以及set...

  • iOS中frame和bounds区别

    frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统) bounds指的是:该...

  • frame和bounds的区别

    在iOS中我们会经常遇到frame和bounds,这两个概念很相似,但是也有区别。frame还好理解,但是boun...

  • Frame和bounds的区别

    在iOS中我们会经常遇到frame和bounds,这两个概念很相似,但是也有区别。frame还好理解,但是boun...

  • frame和bounds的区别

    在iOS中我们会经常遇到frame和bounds,这两个概念很相似,但是也有区别。frame还好理解,但是boun...

  • UIView的frame和bounds的区别

    UIView的frame和bounds的区别 UIView作为iOS里面常用的控件,它有两个属性Frame和bou...

  • iOS中frame和bounds的区别

    在iOS的界面位置设置中,经常会用到 initWithFrame 这个方法,或者用 setFrame 来设置,但设...

网友评论

      本文标题:详解ios中frame和bounds的区别

      本文链接:https://www.haomeiwen.com/subject/qjsikttx.html