iOS 캠프 TIL - 2021.04.05 월

Updated:

Play Kahoot! - 지난주 리뷰

  • 코어그래픽은 3d불가능
  • Quartz는 코어그래픽과 동의어다
  • Quartzw 2D 에서 배율변환, 회전등의 변형을위해 제공하는 것은
    • transform
  • 애니메이션 변환 페이스를 나타내는 방식은?
    • Timing Function

AutoLayout Advanced - 제르시 특강

오토레이아웃을 사용하는 4가지 방법

  • Interface Builder
  • NSLayoutAnchor: 코드로 (iOS9 부터 지원)
  • Visual Format Language: 코드로
    • (지금은 작성방법은 몰라도되지만 읽을줄은 알아야함)
    • 오토레이아웃 문제시 에러로그고 이것으로 출력되므로
  • NSLayoutConstraint: 코드로

오토레이아웃에 문제 생기는 경우

  • 모호한 레이아웃
    • 두 개 이상의 제약조건이 충돌했을 때 (인터페이스 빌더에서 충돌 감지해서 빨간색 표시)
    • 주의할점은 현재 캔버스 크기에서 충돌을 감지하므로 다양한 크기(크기, 방향, 언어)에서 테스트 해봐야 함
  • 논리적 오류
  • 불만족한 레이아웃
    • required constriants를 priority를 999로 설정하면 충돌피하기에 좋다 (꼼수?)
  • Ambiguous Layouts
    • 오토레이아웃은 뷰의 사이즈와 위치를 지정하는 유일한 제약조건이 필요

오토레이아웃 성능 향상

  • 스택뷰를 잘 활용하면 좋다

오토레이아웃 디버깅 하기

  • chisel
    • 오토레이아웃 디버깅을 보다 쉽게 하기위해 페이스북에서 만든 라이브러리
    • LLDB에서 명령어 방식으로 border등을 확인할 수 있음
  • REVEAL
    • 오토레이아웃 바로 확인해볼 수 있는 유료 프로그램
    • 바로 뷰들을 확인하고 충돌등을 디버깅할 수 있다
    • 오토레이아웃 공부할때 많은 도움이 됨

Leave a comment