hsleedevelop
hsleedevelop
hsleedevelop
  • 분류 전체보기 (25)
    • Develop (25)
      • CS (1)
      • iOS (7)
      • Swift (14)
      • SwiftUI (0)
      • Flutter (1)
      • React (1)

최근 글

인기 글

태그

  • 스위프트
  • GoRoute Popup
  • xcode 꿀팁
  • Xcode 베젤
  • builtInWideAngleCamera
  • GoRoute Nav
  • iOS QRCode
  • CLIENT_FETCH_ERROR
  • GoRoute 분기
  • Jump to definition
  • XIB Inspectable
  • Xcode 빌드
  • GoRoute Modal
  • Xcode 정의
  • html
  • Xcode 정의로 이동하지 않고 우측 에디터에서 보는 방법
  • xcode 팁
  • Xcode
  • excldue
  • architecturel
  • Xcode 14 빌드 속도 올리는 방법
  • GoRouter
  • Simulator
  • addPostFrameCallback
  • Link
  • enum 연동하는 방법
  • next-auth
  • Xcode Definition
  • Swift
  • 시뮬레이터

최근 댓글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
hsleedevelop

hsleedevelop

Develop/Swift

스토리보드, XIB Inspectable에 enum 연동하는 방법

2023. 1. 29. 12:17
반응형

스토리보드, 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에서 확인

Available in IB

기본값 설정

   // 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
    'Develop/Swift' 카테고리의 다른 글
    • AVCaptureDevice 사용 시 iPhone14 Pro 이상의 카메라 설정 방법
    • M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법
    • String에 HTML 링크 적용
    • KingFisher에서 SVG 이미지 다운로드하는 방법
    hsleedevelop
    hsleedevelop
    iOS, Swift js, node js, react c, c++, .net ruby, sql

    티스토리툴바