반응형
스토리보드, XIB에서 UIButton (또는 그외 컨트롤) 에 @IBInspectable을 연동해서 사용하는 경우가 많은데, IBInspectable 값을 enum 으로 선언해서 연동하는 방법입니다.
enum 타입 작성
enum StatusShape:Int {
case Rectangle = 0
case Triangle = 1
case Circle = 2
}
@Inspectable 작성
// IB: use the adapter
@IBInspectable var shapeAdapter:Int {
get {
return self.shape.rawValue
}
set( shapeIndex) {
self.shape = StatusShape(rawValue: shapeIndex) ?? .Rectangle
}
}
Interface Builder에서 확인
기본값 설정
// Programmatically: use the enum
var shape:StatusShape = .Rectangle
최종 코드
@IBDesignable
class ViewController: UIViewController {
enum StatusShape:Int {
case Rectangle
case Triangle
case Circle
}
// Programmatically: use the enum
var shape:StatusShape = .Rectangle
// IB: use the adapter
@IBInspectable var shapeAdapter:Int {
get {
return self.shape.rawValue
}
set( shapeIndex) {
self.shape = StatusShape(rawValue: shapeIndex) ?? .Rectangle
}
}
}
출처 : https://stackoverflow.com/questions/27432736/how-to-create-an-ibinspectable-of-type-enum
반응형
'Develop > Swift' 카테고리의 다른 글
AVCaptureDevice 사용 시 iPhone14 Pro 이상의 카메라 설정 방법 (0) | 2023.11.23 |
---|---|
M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법 (0) | 2023.01.07 |
String에 HTML 링크 적용 (0) | 2023.01.07 |
KingFisher에서 SVG 이미지 다운로드하는 방법 (0) | 2022.11.13 |
SwiftUI 상에서 HTML 출력과 Link, CSS 적용하는 방법 (0) | 2022.11.13 |