일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- async
- weak
- rx
- Swift
- concurrency
- 알고리즘
- 구조체
- 프로그래머스
- 안드로이드
- 생명주기
- 이스케이핑
- 차이
- Self
- 스위프트
- View
- 자바
- 프래그먼트
- 테스크
- 백준
- 옵셔널
- Subject
- 클로저
- 리스트뷰
- 풀이
- 연산자
- RxSwift
- 해시
- 서브스크립트
- observable
- ios
- Today
- Total
study record
[iOS] 라이브 렌더링(스토리보드에서 실시간 랜더링)을 어떻게 설정할 수 있나? 본문
@IBDesinable 속성을 사용하면 인터페이스 빌더 수행을 라이브로 업데이트시킬 수 있다. IBDesinable은 UIView 클래스에서 잘 정의되기 위해 프레임을 필요로 한다.
https://zeddios.tistory.com/270 이 블로그를 참고하면 IBInspectable과 IBDesinable 에 대한 이해도를 높일 수 있다. UIView를 활용할 때 테두리에만 디자인을 추가하고자 하는 경우가 생길 수 있다. 이 때의 borderWidth, borderColor를 지정하는 방법에서 두 가지를 사용한다.
borderWidth 테두리 넓이를 지정하기 위해 새로운 cocoaTouch 파일을 만들고 View 에 할당한다. 이 코코아 터치 파일에서 @IBInspectable 을 활용하면 set연산을 스토리보드의 인스펙터에서 바로 속성을 변경할 수 있다. 추가하려는 속성은 연산 (get, set)이 가능한 프로퍼티여야 한다! 이렇게 테두리의 넓이를 스토리보드 상에서 지정할 수 있도록 IBInspectable이 도와줄 수 있다.
borderColor 또한 IBInspectable을 지정해주면 스토리보드에서 색깔을 지정할 수 있다. 그러나 색깔의 변화를 바로바로 스토리보드 상에서 확인할 수는 없다. IBInspectable만 지정하면 런타임에만 속성이 적용되는 것을 볼 수 있다. 따라서 IBDesinable을 코코아터치 클래스의 상단에 선언함으로써 스토리보드에서 라이브로 바로바로 변화를 볼 수 있도록 할 수 있다.
다만 무분별하게 많이 사용하게 된다면 스토리보드이 로딩이 느려질 수 있다.
'iOS > iOS 정리' 카테고리의 다른 글
[iOS] 스냅킷(SnapKit) inset과 offset (0) | 2022.03.01 |
---|---|
[iOS] iOS 앱 상태변화 iOS Application States (0) | 2022.02.24 |
[iOS] 코드로 네비게이션 컨트롤러 설정 및 Rx 버튼클릭 이벤트( 화면 전환 ) (0) | 2022.02.16 |
[iOS] Intrinsic Content Size (0) | 2022.02.15 |
[iOS] FSCalendar 특정날짜에 이미지 넣기 (0) | 2021.12.02 |