UIView다.Content라고 한다.Frame이라고 한다.Bitmap Cash를 사용Bitmap Cash를 기반으로 재사용OnDemand Drawing Model : 시스템 자원을 적게 사용하고 Content를 빠르게 그리는 장점SetNeedDisplay 호출컨트롤 : 처리 가능 뷰superView, 아래 있는 뷰를 subView라고 한다.
+x+ycontent 출력 시 뷰의 로컬 좌표를 사용위치와 크기를 지정할 때는 슈퍼뷰의 로컬 좌표를 사용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의 속성 이름과 코드에서 이름이 동일하므로 참고하면 된다.
