UIView
다.Content
라고 한다.Frame
이라고 한다.Bitmap Cash
를 사용Bitmap Cash
를 기반으로 재사용OnDemand Drawing Model
: 시스템 자원을 적게 사용하고 Content를 빠르게 그리는 장점SetNeedDisplay
호출컨트롤
: 처리 가능 뷰superView
, 아래 있는 뷰를 subView
라고 한다.+x
+y
content 출력
시 뷰의 로컬 좌표를 사용위치
와 크기
를 지정할 때는 슈퍼뷰의 로컬 좌표를 사용var frame: CGRect
struct CGRect {
var origin: CGPoint
var size: CGSize
}
struct CGPoint {
var x: CGFloat
var y: CGFloat
}
struct CGSize{
var width: CGFloat
var height: CGFloat
}
frame
위치
와 크기
저장bounds
크기
만 저장let frame = CGRect(x: 50,y: 50,width: 100,height: 100)
let frame = CGRect(x: 50,y: 50,width: 100,height: 100)
let v = UIView(frame: frame)
여기까지만 하면 UIView가 생성될 뿐, 화면에 표시되지는 않는다.
let frame = CGRect(x: 50,y: 50,width: 100,height: 100)
let v = UIView(frame: frame)
view.addSubview(v) // view 속성을 통해 루트뷰에 접근
let frame = CGRect(x: 50,y: 50,width: 100,height: 100)
let v = UIView(frame: frame)
v.backgroundColor = UIColor.systemBlue // 배경색 속성 변경
view.addSubview(v)
기본적으로 Attribute Inspector의 속성 이름과 코드에서 이름이 동일하므로 참고하면 된다.