iOS) Frame vs Bounds

2906 ワード

UIViewで属性FrameとBoundsを学習します.

frmaeとboundsはCGRETタイプCGRETの概念
frameとboundsはCGRETタイプで宣言されるのではなく、矩形で描画されます.
起源はx좌표y좌표です
sizeにはwidth(너비)height(높이)があります.

Frame


スーパービュー(Parent View)で、ビューの位置またはサイズを座標で表します.

superviewとは?



ビューを画面に整理すると、階層が存在します.
最上位レベルにはrootViewControlが含まれています.
UIView(ビュー1)はrootViewのサブビューに配置できます.
UIView(ビュー1)サブアイテムには、UIView(ビュー2)を配置できます.

ビュー1のSuperViewはRootViewになります.
view 2のSuperViewはView 1になります.

1-1. フレームワークの起源


フレームでは、原点はx座標とy座標値であり、SuperViewの原点が(0,0)でどれだけ遠いかを示す.
  • view1

  • view 1のSuperViewはRootViewです.
    RootViewはトップビューなので、原点座標は(0,0)です.
    view 1は、ROOTViewの原点座標を基準とし、距離x좌표는 60y좌표는 110である.
    view 1のフレームワークの起源は(60110)である.
  • view2

  • view 2のSuperViewはview 1、view 1の原点座標は(60110).
    view 2はview 1の原点を基準としてx축은 50y축은 100万離れている.
    従って、view 2のフレームワークは(60110)に起源する.

    1-2. 枠線のサイズ


    フレーム中のsizeはwidthheightの値を表す.
    定義は、ビュー領域をすべて囲む長方形です.

    上のビューフレーム.size出力時

    上記のように出力します.
    view1.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 5)
    上にコードを追加してビューを回転します.

    view 1が回転するとwidthheightの値が変わります.(小数点はカット)

    定義では、ビュー領域を囲む矩形は、ビューが占有する領域によって囲まれた矩形であり、その枠はsizeである.

    bounds


    FrameBounds座標superviewは、自分の座標系設定サイズ(width,height)に対応する最小矩形width,height自分のwidth,heightの座標を決定する

    reference

  • developer apple
  • Frame