728x90
반응형
@IBInspectable는 인터페이스 빌더의 인스펙터 영역에 보여주는 역할을 함
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
타입을 무한정으로 제공해주는 것은 아님. CGColor를 제공하지 않음
그리고 해당 코드는 컴파일 시에 바로 반영이 되지 않는다.
@IBInspectable이 담당하는 것이 아니라 @IBDesignable이 담당하는 것이기 때문에 컴파일 시점에 확인하려면 이걸 사용하면 된다.
@IBDesignable class SeSACButton: UIButton {
// 스토리보드 상에서 인스펙터 영역에서 사용할 수 있음
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
@IBInspectable var borderWidth: CGFloat {
get { return layer.borderWidth }
set { layer.borderWidth = newValue }
}
@IBInspectable var borderColor: UIColor {
get { return UIColor( cgColor: layer.borderColor!) }
set { layer.borderColor = newValue.cgColor }
}
}
Swift Attribute라고 하는 것
@IBInspectable, @IBDesignable, @objc, @escaping과 같은 것들
728x90
반응형
'⭐️ 개발 > iOS & Swift' 카테고리의 다른 글
[iOS] xib 사용해서 재사용 가능한 Custom View 만들기 (0) | 2022.08.10 |
---|---|
[Swift] required init?(coder: NSCoder) (0) | 2022.08.10 |
[iOS] 동기, 비동기 시작하기 앞서 그냥 오늘 배운 거... (0) | 2022.08.05 |
[Swift] 강순참이 존재하게 된 이유... (0) | 2022.08.05 |
[Swift] 일급 객체, Closure (1) (0) | 2022.08.03 |