zoukankan      html  css  js  c++  java
  • 关于UIView的

    有时候开发了很多时间,但是那些细节的东西缺可能没有关注到。


    UIView的几个属性

    1. frame(边框)
    2. bounds(边界)
    3. center(中心)

    frame是一个CGRect结构体类型的属性。它指的是该view相对于父view的坐标系统的位置和中心。

    bounds是指的该view在本身坐标系统中的位置和大小。

    区别就是参照的坐标系统,frame是父view,bounds是自身。

    看下编程指南里的示例图:

    Relationship between a view's frame and bounds

    左侧的frame决定了这张图片在灰色的父view中的位置和大小。

    右侧的bounds决定了要将自身的哪一部分显示出来,默认是原点是(0,0)。

    如果bounds改变,而frame不变,那么它显示在父视图的部分将改变,而位置不变。

    效果如下:

     Altering a view's bounds

    frame与bounds之间的关系如下:

    1.当设置frame的时候,bounds的大小会被设置成与frame大小一样。

    2.当设置bounds的大小的时候,frame的大小也会随之改变。

    不过更改bounds的原点可以不会对frame影响。只是显示在父视图的内容就不一样了。

    用法:

    • 如果使用一个view,那么需要用到frame:比如创建一个view,确定这个view在父视图的位置
    • 如果实现一个view,那么使用bounds:比如捕捉一个事件,绘制一个view


    ContentMode属性

    UIViewContentModeScaleToFill 缩放以填充

    UIViewContentModeScaleAspectFit 缩放以显示全部,比例不变

    UIViewContentModeScaleAspectFill 缩放显示,填满,比例不变

    Content mode comparisons

  • 相关阅读:
    多线程
    Java I/O简述
    Java集合
    Java常用类
    Java面向对象基础知识汇总
    Java标识符和关键字
    认识Java
    mvn打包源码和生成javadoc
    Http协议概述
    exe可执行程序及堆栈分配(转载)
  • 原文地址:https://www.cnblogs.com/cokecoffe/p/2698594.html
Copyright © 2011-2022 走看看