코드로 오토레이아웃 NSLayoutAnchor vs SafeareaInsets
Youngminah opened this issue · 0 comments
Youngminah commented
고민하게 된 계기
- NSLayoutAnchor 또한 많이 발전을 한 것이지만
- 여전히 NSLayoutAnchor을 이용해 safearea 오토레이아웃을 잡는 것은 코드가 너무 길어짐.
- Safearea의 top, bottom, left, right을 CGFloat으로 접근 할 수 있다면 ,
- SnapKit을 사용하지 않더라도, SnapKit에 비해 많이 길지 않은 길이로 작성 가능할 텐데...? (그래도 SnapKit이 훨씬 짧음..!)
- CGFloat로 접근 할 수 있을까?
SafeareaInsets
- iPhone X가 나오면서 iOS11부터 Safearea에 top, bottom, left, right에 모두 접근할 수 있는 SafeareaInsets가 생김
- CGFloat 리턴형 말고도 여러가지 기능 제공
- 스크롤뷰, 테이블뷰, 컬렉션뷰 모두 간단한 코드로 가능
결론
- iOS 11 버전 미만이라면 NSLayoutAnchor를 사용을 해야하지만
- iOS 11 버전 이상이면 SafeareaInsets을 사용하여 오토레이아웃을 잡는것이 훨씬 간편한다.
- 참고: CustomView를 만들 경우는 NSLayoutAnchor를 사용해야함!
- 위 사실이 정확히 서술된 블로그를 찾기 어려워서 잘모르는사람이 많다. 특히나 2018년 밑에 포스팅에 된 글일 경우..!
By Evgeny M., iOS Developer at Rosberry