hsleedevelop
hsleedevelop
hsleedevelop
  • 분류 전체보기 (22)
    • Develop (22)
      • CS (1)
      • iOS (7)
      • Swift (13)
      • SwiftUI (0)

최근 글

인기 글

태그

  • Xcode 정의
  • SVG 다운로드
  • Xcode bezel
  • Xcode 빌드
  • ios localization
  • 스위프트
  • Xcode 정의로 이동하지 않고 우측 에디터에서 보는 방법
  • Xcode Build 실행 시 명확하게 표시하는 방법
  • excldue
  • Swift
  • CSS 적용하는 방법
  • Xcode Definition
  • Xcode
  • Jump to definition
  • xcode 팁
  • Simulator
  • KingFisher에서 SVG 이미지 다운로드하는 방법
  • enum 연동하는 방법
  • Xcode Build
  • xcode 꿀팁
  • Xcode 베젤
  • Link
  • 시뮬레이터
  • SVG download
  • SwiftUI 상에서 HTML 출력과 Link
  • html
  • Xcode 14 빌드 속도 올리는 방법
  • Kingfisher SVG
  • architecturel
  • XIB Inspectable

최근 댓글

전체 방문자
오늘
어제

티스토리

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' 카테고리의 다른 글

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
multi-line 문구 localizable.strings 적용 방법  (0) 2022.10.13
    'Develop/Swift' 카테고리의 다른 글
    • M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법
    • String에 HTML 링크 적용
    • KingFisher에서 SVG 이미지 다운로드하는 방법
    • SwiftUI 상에서 HTML 출력과 Link, CSS 적용하는 방법
    hsleedevelop
    hsleedevelop
    iOS, Swift js, node js, react c, c++, .net ruby, sql

    티스토리툴바