2024년 어린이 날은 하루종일 봄비가 내렸습니다.
내리는 빗소리를 들으며 그동안 미루어둔 SnapKit을 설치합니다.
해보니 금방이네요~ ᵔࡇᵔ
+ 라이브러리와 프레임워크의 차이점도 복습합니다.
SPM이란?
Swift Package Manager의 줄임말로 Xcode에서 라이브러리를 쉽게 import 하기 위해 apple에서 자체적으로 개발했다. 기존에 코코아팟, 카르타고 등을 활용했으나 이제 대부분의 라이브러리가 SPM을 지원하기 때문에 이를 활용한다.
| 라이브러리 Import 하기
https://github.com/SnapKit/SnapKit.git ← 경로 복사
프로젝트의 Package Dependencies에 진입해 + 버튼 누르기
우상단에 복사한 url을 붙여넣고 Add Package 누르기
SnapKit-Dynamic의 타겟은 None으로 바꾸기.
안그러면 오류 발생❗️
SnapKit 공식문서 살펴보기
SnapKit 기존 방식과 비교하기
equalToSuperview
SnapKit에서 자주 사용되는 방법
해당 뷰의 ‘부모 뷰’을 통해 제약조건을 설정한다.
부모 뷰의 이름을 직접 적지 않아도 파악이 가능하기 때문에 더 깔끔하고 직관적인 코드를 작성할 수 있다.
SnapKit은 다양한 축약 문법을 제공. 몇가지 예시를 아래에 첨부합니다.
nameLabel.snp.makeConstraints { // 여러 앵커를 한번에 연결
$0.top.leading.equalToSuperview().offset(30)
$0.trailing.bottom.equalToSuperview().offset(-30)
}
nameLabel.snp.makeConstraints { // (위, 아래) (리딩, 트레일링)을 한번에 표현하는 이름도 존재
$0.verticalEdges.equalToSuperview().offset(30)
$0.horizontalEdges.equalToSuperview().offset(30)
}
Inset, Offset 이해하기
이전에 배웠던 뷰의 방향을 그대로 활용하는 것이 Offset
bottom, trailing등 -처리를 포함해서 안쪽을 향하도록 하는것이 Inset
'iOS 앱 개발자 프로젝트 > iOS 심화' 카테고리의 다른 글
[iOS] bookStore app project (3) (4) | 2024.05.08 |
---|---|
[iOS] bookStore app project (2) (2) | 2024.05.07 |
[iOS] bookStore app project (1) (2) | 2024.05.04 |
[iOS] video playback app (0) | 2024.05.01 |
[iOS] codebase UI (0) | 2024.04.30 |