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

최근 글

인기 글

태그

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

최근 댓글

전체 방문자
오늘
어제

티스토리

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

    티스토리툴바