릴리스 v1.3.0: SwipeBox 전면 개선 및 SegmentedControl iOS 26 스타일 적용 - #111
Conversation
- CupertinoSwipeBox 및 관련 아이템 컴포넌트의 로직과 상태 관리 개선 - SwipeBox 동작과 애니메이션 구현 방식 변경으로 성능 향상 - 예제 앱에서 SwipeBox 사용법 및 UI 업데이트
- CupertinoSwipeBoxItem.kt 파일에 애니메이션 관련 import 추가 및 로직 개선 - CupertinoSwipeBoxLaunchedEffects.kt에서 액션 아이템 패딩 계산 방식 수정 - CupertinoWidgetsScreen.kt에서 스와이프 액션 관련 UI 주석 처리 - CupertinoSwipeBox.kt 파일에서 외부 패딩 속성 추가 및 haptic feedback 로직 정렬
refactor(swipebox): CupertinoSwipeBox 컴포넌트 리팩토링 및 둥근 모서리 Shape 통일
- CupertinoSegmentedControl 컴포넌트 구현 및 스타일 개선 - CupertinoWidgetsPreviews.kt 파일 추가로 컴포넌트 미리보기 제공 - App.kt, MainActivity.kt 등 예제 앱 코드 업데이트 - iOS 26 시각 기준 문서 error.txt 추가로 정확한 구현 기준 확보
- didDrag 상태 변수 추가 및 드래그 애니메이션 로직 수정 - 탭 카운트에 따른 DampedDragAnimation 초기화 로직 변경 - remember 블록 내부 구조 최적화 및 상태 저장소 갱신
- CupertinoSegmentedControl.kt 파일의 상태 관리 라이브러리 import 순서 변경 - error.txt 파일 삭제로 불필요한 문서 정리 - 코드 복잡성 감소 및 성능 개선
CupertinoSegmentedControl iOS 26 스타일 리디자인 및 glass material 적용
- LazyListSection.kt 파일의 import 구문 정리 및 의존성 추가 - CupertinoSegmentedControl.kt에서 클릭 처리 로직 개선 및 layout 변경 - CupertinoTopBars.kt에 blur 관련 import 추가 및 컴포넌트 수정 - SectionsScreen.kt에서 반복되는 SectionItem 컴포넌트 로직 변경
- CupertinoWidgetsPreviews.kt 파일 삭제로 프리뷰 컴포넌트 정리 - CupertinoWidgetsScreen.kt 파일에서 레이아웃 및 컴포저블 구조 개선 - Spacer와 imePadding을 통한 화면 간격 조정 및 UX 향상
- 31개 파일 변경 및 리팩토링 작업 수행 - iOS 관련 파일 및 설정 이동 처리 - 코틀린 소스코드 최적화 및 의존성 정리
LazyListSection 그룹 섹션 클리핑 및 SegmentedControl backdrop 단순화
- CupertinoSwipeBox 관련 빌더 및 아이템 컴포넌트 문서화 개선 - CupertinoDateTimePicker 상태 관리 및 파라미터 설명 추가 - CupertinoSwipeBox 기본값 클래스 구조 변경 및 주석 정리 - CupertinoSegmentedControl 주석 영문화 처리 - README.md 파일에 프로젝트 소개 및 빌드 상태 배지 추가
- CupertinoWidgetsScreen.kt 파일에서 Cupertino 텍스트를 HIG로 변경 - TestScreen.kt 파일에서도 Cupertino 텍스트를 HIG로 수정 - README.md 파일에 To-do 목록 추가 및 라이선스 정보 업데이트
- CupertinoSegmentedControl.kt 파일에서 기존 로직 제거 및 새로운 구현 추가 - CupertinoWidgetsScreen.kt에 새로운 UI 컴포넌트 추가 및 스타일 적용 - README.md 파일에 라이브 데모 및 설치 방법 수정사항 반영 - libs.versions.toml 파일에서 의존성 버전 업데이트 및 그룹명 변경
There was a problem hiding this comment.
Code Review
이번 풀인 요청(PR)은 Compose-HIG 라이브러리에 Apple의 Human Interface Guidelines(HIG)를 반영한 대대적인 컴포넌트 개선을 포함하고 있습니다. 특히 CupertinoSegmentedControl에 스프링 드래그 애니메이션과 동적 인디케이터 기능이 추가되었고, CupertinoSwipeBox에는 iOS 스타일의 스와이프 제스처와 햅틱 피드백이 구현되었습니다. 또한 LazyListSection에서 ContinuousRoundedRectangle을 적용하여 아이템 클리핑 로직을 정교화했습니다. 코드 리뷰에서는 CupertinoSegmentedControl 컴포지션 단계에서 탭 등록(registry.register)을 직접 수행하여 발생할 수 있는 부작용(Side-effect) 문제를 지적했습니다. 이를 해결하기 위해 등록 로직을 DisposableEffect 내부로 이동하고, 클릭 시점에 인덱스를 동적으로 조회하도록 개선하는 피드백이 제시되었습니다. @ienground
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
- DisposableEffect에 currentOnClick 파라미터 추가 및 레지스트리 등록 로직 개선 - 클릭 핸들러 등록 및 해제 로직 정상 동작 보장 - 콜백 처리 및 상태 관리 개선
요약
v1.3.0 릴리스 브랜치로, CupertinoSwipeBox/CupertinoSwipeBoxItem 전면 재구현, LazyListSection grouped 섹션 클리핑, SegmentedControl iOS 26 스타일 적용 등 주요 UI 컴포넌트 개선을 포함합니다.
주요 변경사항
shape파라미터 추가(ContinuousCapsule 기본값), 애니메이션 TransformOrigin을 action position 기준으로 적용확인 사항
backdrop파라미터 사용처(IconsScreen, SectionsScreen) 호환성 확인영향 범위