@IBDesignable와 @IBInspectable는 무엇?
Youngminah opened this issue · 0 comments
Youngminah commented
IBInspectable
- Inspector와 관련이 있다고 보면 된다
- 런타임에 속성이 결정된다.
class CustomView: UIView {
@IBInspectable var borderWidth: CGFloat {
get { return layer.borderWidth }
set { layer.borderWidth = newValue }
}
}
- Border Witdh가 인스펙터 영역에 추가되었다
- inspector에서 해당 인터페이스 요소의 속성을 변경할 수 있게 하는 것이 IBInspectable이다.
- 저기서 값을 변경하는 것이 바로 "set연산"이 되는것
- 여기까지만 설정하면 스토리보드에서 바로바로 즉각적인 확인은 아직 안되는 상태이다.
IBDesignable로 바로바로 업데이트를 확인하자
- 컴파일 타임에서 (=실시간) 으로 확인이 가능하게 하는것
@IBDesignable
class CustomView: UIView {
@IBInspectable var borderWidth: CGFloat {
get { return layer.borderWidth }
set { layer.borderWidth = newValue }
}
}
- IBDesignable를 설정해줌으로써 바로바로 확인이 가능하다