티스토리 뷰
Intrinsic content size란 자신의 content size에 따라서 결정되는 뷰 사이즈를 말한다.
뷰 내뷰의 컨텐츠에 따라서 자신의 사이즈를 잡는 label, button 등은 intrinsic content size가 있어서 자신의 height, width를 알고 있다.
그래서 좌상단에 top, leading constraint만 줘도 잘 붙는다.
UIView는 위와 같은 조건의 constraint를 주면 width, height를 모르겠다고 뜬다.
size inspector에서 Intrinsic size의 place holder를 만들어두면 임시로 크기를 정할 수 있는데, 이거는 인터페이스 빌더에서 임시로 적용되는 거고 런타임에는 적용되지 않는다.
그래서 UIView의 Intrinsic Size를 정해주려면, UIView를 상속받는 커스텀 클래스를 만들어서 @IBDesignable 어노테이션을 붙여주면 된다. -> @IBDesignable은 스토리보드에서 렌더링되도록 하는 어노테이션. UIView의 intrinsic size를 설정하기 위해선 intrinsicContentSize를 상속받아서 연산 프로퍼티로 구현해주기만 하면 된다.
import UIKit
@IBDesignable
class MyView: UIView {
// 프로퍼티 상속이니 무조건 연산 프로퍼티로
override var intrinsicContentSize: CGSize {
return CGSize(width: 50, height: 50)
}
}
이렇게 하고 MyView로 커스텀클래스 지정을 UIView에다 하면 intrinsic size를 정해줄 수 있다. 그러면 이제 label처럼 x, y position만 정해줘도 빨간색 없이 잘 적용된다.
'iOS' 카테고리의 다른 글
UIScrollView Auto Layout 설정하기 (0) | 2021.04.17 |
---|---|
iOS 키보드 높이 확인하기 - keyboardFrameEndUserInfoKey (0) | 2021.04.12 |
collectionView 셀을 터치했을 때 효과 주기 (0) | 2021.02.26 |
iOS 키보드 내리는 방법 + UITextFieldDelegate 메소드 호출 정리 (0) | 2021.02.26 |
실제 화면 전환이 일어나는 순간이 언제인지 알아보자(= viewDidLoad() 메소드 호출 시점) (0) | 2020.12.27 |
- Total
- Today
- Yesterday
- 도커
- 게이밍모니터
- docker image
- QHD모니터
- 출석하냥
- ES6
- dockerfile
- iOS #코코아터치
- docker tag
- 소프트웨어마에스트로11기
- 사이드 프로젝트
- 코코아터치
- 앱출시
- Swift
- 데일리
- 카카오인턴십
- 144hz모니터
- ios
- 왕국타이머
- React Native
- tensorflow
- 간단정리
- docker
- 도커 이미지
- 제발태그그만
- 암기빵
- 개인정보처리방침
- 한성모니터
- 평면모니터
- docker-compose
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |