Skip to content

Boost‐SwiftUI‐2024.07.23(화).md

Eric Kwon / 권승용 edited this page Jul 23, 2024 · 5 revisions

원본 텍스트 파일

Boost-SwiftUI-240723.txt


스터디 시간 및 참여자

  • 2024.07.23 화 오후 9:06 ・ 77분 54초
  • 권승용 김대황 유정주 정다함 이준복 윤동주 홍승현
  • 클로버노트를 이용해 회의 내용을 기록하고, GPT를 이용해 요약, 편집했습니다.

한 줄 요약

SwiftUI와 iOS 개발 과정에서 발생하는 문제와 그에 대한 해결 방안을 논의하였습니다.


SwiftUI 및 iOS 스터디 요약

스크롤 뷰

  • 특정 지점까지 프로그래밍적으로 스크롤하거나 offset을 가져올 수 없었지만, iOS 18에서 새롭게 지원.
  • 스크롤 offset을 이용한 애니메이션 구현 시 퍼포먼스 문제 발생.
    • 빠른 속도로 body를 재호출하기 때문
preferenceKey.mov
  • 스크롤 뷰에서 offset을 자주 변경하면 성능 저하가 발생할 수 있음.
  • 애니메이션과 스크롤 뷰를 조화시키는 방법 논의.

TabView와 애니메이션

  • TabView와 애니메이션을 자연스럽게 연결하기 위한 방법으로 여러 가지 시도.
  • @State 변수의 빈번한 변경으로 인한 퍼포먼스 문제.
  • 특정 배수에서만 애니메이션을 적용하여 변경 빈도를 낮추는 방법 제안.
  • KavSoft의 레퍼런스 코드 참고.

인디케이터 바

  • 인디케이터 바의 위치를 offset에 맞추어 조정하는 방법 논의.
  • @State 변경을 최소화하여 퍼포먼스를 유지하는 방법 탐구.
  • View body의 재호출 문제와 그로 인한 성능 이슈.

지오메트리 리더

  • 지오메트리 리더를 사용하여 offset 값을 계산하고 적용.
  • 모디파이어로 뷰의 재생성 없이 애니메이션을 구현하는 방법.

TextField와 커스터마이징

  • TextField 커스터마이징의 어려움.
  • SwiftUI의 TextField Delegate 부재로 인한 문제점.
  • onChange 메서드를 활용하여 텍스트 변경 감지.
  • TextField의 제한적인 커스터마이징 문제.

SwiftUI의 성능 최적화

  • Color.clear를 활용한 성능 최적화.
  • WWDC에서 제안한 성능 최적화 방법 논의.
  • 다양한 성능 최적화 시도와 결과 공유.

SwiftUI의 새로운 기능

  • iOS 17부터 지원하는 페이지 네이션 기능.
  • 새로운 모디파이어를 활용한 페이지 정렬.

기타 논의 사항

  • 회사의 코드 리팩터링 경험 공유.
  • 애플리케이션에서의 커스터마이징 경험.
  • 다양한 뷰 컴포넌트 사용 시의 문제점과 해결 방안 논의.
Clone this wiki locally