zoukankan      html  css  js  c++  java
  • IOS bounds 与 frame的区别

      今天写案例代码,发现资料上设置一个UIButton的frame时,是这样设置的

    btnCover.frame = self.view.bounds;
    

    但是我自己一开始是这样写的

    btnCover.frame = self.view.frame;
    

     后来,我发现,两个不同的写法都达到了我想要的想过,也就是UIButton的大小和父容器的大小一致,我就纳闷了,既然是同样的效果,为什么即有bounds又有frame。后来经查,发现如下区别:

    -(CGRect)frame{
        return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);
    }
    
    -(CGRect)bounds{
        return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);
    }
    

     ,观察上面两段代码,发现,frame的远点是任意的,而bounds的原点却是 0 ,0.

    frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)
    bounds:该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统,就相当于ViewB自己的坐标系统,以0,0点为起点)

  • 相关阅读:
    Nginx配置文件
    SSM三层模型之间的参数传递
    Junit4用法
    常量类的设计
    初识Oracle
    sss
    sss
    sss
    sss
    sss
  • 原文地址:https://www.cnblogs.com/lomomiao/p/5014374.html
Copyright © 2011-2022 走看看