반응형
사용된 예제는
꼼꼼한 재은씨의 Swift : 실전편
을 토대로 작성하였으며 설명 또한 인용한 부분이 있습니다.
@IBDesignable
- 커스텀 객체(버튼, 스테퍼 등)를 스토리보드에서 미리보기 하고 싶을 때 해당 클래스 정의 구문 위에 추가합니다.
@IBInspectable
- 커스텀 객체(버튼, 스테퍼 등)의 속성을 스토리보드 내에서 변경하고 싶은 경우 해당 속성을 선언할 때 추가합니다.
설명
- 커스텀 객체를 만들 때 프로그래밍 방식을 사용하면 디자인 요소에 변화를 주는 경우 빌드를 한 다음 확인을 해야 하는 번거로움이 있지만 @IBDesignable 을 사용하면 스토리보드에서 미리 보기가 가능합니다.
- 또한, @IBInspectable 을 사용하여 인터페이스 빌더를 통해 커스텀 객체의 속성을 설정할 수 있습니다.
- 즉, 프로그래밍 방식으로 커스텀 객체를 만들었지만 스토리보드 내에서 미리 보기가 가능하며 속성 또한 스토리보드 내에서 변경 가능합니다.
코드
import UIKit
@IBDesignable
public class CustomStepper: UIView {
@IBInspectable public var stepValue: Int = 1
@IBInspectable public var maximumValue: Int = 100
@IBInspectable public var minimumValue: Int = -100
public var leftBtn = UIButton(type: .system)
public var rightBtn = UIButton(type: .system)
public var centerLabel = UILabel()
// more
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
public override init(frame: CGRect) {
super.init(frame: frame)
}
// more
}
참고
반응형
'Swift' 카테고리의 다른 글
Tabbar 안에 StoryBoard 여러개 관리하는 방법 (0) | 2019.01.23 |
---|---|
WKWebview를 이용한 Javascript, Swift 양방향 통신 (3) | 2018.12.06 |
sizeToFit 함수와 center 속성을 함께 사용하는 경우에 작성 순서 (0) | 2018.11.11 |
클래스 내에 멤버 변수를 사용할 때 초기화 시점에 따른 메모리 차지 (0) | 2018.11.11 |
Swift 코드 작성시 변수와 함수 순서 (0) | 2018.11.04 |