목적
Todo에서 사용자가 입력한 실제 태그를 시스템 상황별 메뉴를 통해 복사할 수 있도록 한다.
구현 범위
TagList.contentTags에서 실제 태그를 생성하는 Tag에 SwiftUI .contextMenu 적용
- Todo 상세 화면과 Todo 생성·수정 화면의 기존
TagList에 동일한 동작 제공
- 메뉴에는 복사 동작 하나만 표시
- 복사 동작 선택 시 화면에 표시된 태그 문자열을 그대로 클립보드에 저장
- 복사 문자열에
# 접두사 미추가
- 편집 상태에서 기존 태그 삭제 버튼과 삭제 동작 유지
Application/App/Sources/Resource/Localizable.xcstrings에 공통 복사 문구 추가
입력 방식
- 터치: 태그 길게 누르기
- 마우스: 우클릭 또는 시스템이 길게 누르기로 해석하는 좌클릭 유지
- 입력별 별도 메뉴를 만들지 않고
.contextMenu가 제공하는 시스템 입력 처리 사용
제외 범위
- 마감일을 표시하는 단독
Tag 복사
TagList의 오버플로우 표시 ... 복사
Tag 공개 생성자 또는 공개 API 변경
- 복사 완료 Toast, 알림, 진동 등 별도 피드백 추가
- 태그 삭제 동작 변경
수용 조건
- 실제 태그를 길게 누르거나 지원되는 마우스 입력을 사용하면 복사 메뉴가 표시됨
- 앱 언어가 한국어이면
복사, 영어이면 Copy로 표시됨
- 복사 후 클립보드 값이 화면에 표시된 태그 문자열과 일치함
- 복사된 값에
#이 포함되지 않음
- 마감일과
...에서는 복사 메뉴가 표시되지 않음
- Todo 생성·수정 화면에서 기존 태그 삭제 동작이 유지됨
현재 상태
목적
Todo에서 사용자가 입력한 실제 태그를 시스템 상황별 메뉴를 통해 복사할 수 있도록 한다.
구현 범위
TagList.contentTags에서 실제 태그를 생성하는Tag에 SwiftUI.contextMenu적용TagList에 동일한 동작 제공#접두사 미추가Application/App/Sources/Resource/Localizable.xcstrings에 공통 복사 문구 추가복사Copy입력 방식
.contextMenu가 제공하는 시스템 입력 처리 사용제외 범위
Tag복사TagList의 오버플로우 표시...복사Tag공개 생성자 또는 공개 API 변경수용 조건
복사, 영어이면Copy로 표시됨#이 포함되지 않음...에서는 복사 메뉴가 표시되지 않음현재 상태