iOS Developer Library

Developer

iOS Human Interface Guidelines

iBooks

Undo and Redo

사용자들은 언두 동작을 장치를 흔들어서 발생시킨다. 얼러트를 디스플레이해서 다음을 가능하게 한다

  • 방금 타이프 한것을 언두

  • 이전에 끝내지않은 타이핑을 리두

  • 언두 동작을 취소.

image: ../Art/undo_intro_2x.png

다음을 지정함으로서 앱의 언두 동작을 보다 일반적인 방식으로 지원할 수 있다 :

  • 사용자가 언두 또는 리두할 수 있는 액션

  • 앱이 흔들기 이벤트를 흔들어서-언두 제스처로 해석하게 되는 환경

  • 얼마나 많은 단계의 언두를 지원하는지

이 동작을 코드로 배우고 싶으면, Undo Architecture를 보라. 당신 앱에서 언두와 리두를 지원한다면, 다음 가이드라인을 지켜서 좋은 사용자 경험을 제공하라.

그들이 언두또는 리두 하고 있는 것을 정확하게 말하는 간단한 설명 구문을 공급하라. 자동적으로 "Undo "와 "Redo "(단어 뒤의 공백을 포함해서) 문자열을 언두 얼러트 버튼 타이틀로 공급하지만, 하지만 당신은 한 두단어 정도를 사용자가 언두 또는 리두할 수 있는 액션을 설명하기 위해 제공할 필요가 있다. 예를 들어, Delete Name 또는 Address Change 같은 텍스트를 공급해서, 버튼 타이틀을 "Undo Delete Name" 또는 "Redo Address Change"처럼 만들어라. (얼러트의 Cancel 버튼은 변경하거나 제거할 수 없음을 기억하라)

image: ../Art/undo_example_2x.png

너무 긴 텍스트를 공급하지 않도록 하라. 너무 긴 타이틀은 잘려서 사용자가 해독하기 어렵다. 이 텍스트는 버튼 타이틀에 있기 때문에, 타이틀-스타일 대문자화를 하고 구두점을 더하지 마라.

흔들기 제스처에 과부하를 피하라. 프로그램적으로 언제 앱이 흔들기 이벤트를 흔들어서 언두로 해석할지를 설정할 수 있을지라도, 흔들기를 다른 액션으로 사용할 수 있을 것으로 혼동하는 위험성을 가지고 있다. 앱에서 사용자 인터렉션을 분석해서 사용자가 흔들기 제스처의 결과를 신뢰하지 못하는 상황을 만들지 마라.

당신 앱에서 언두와 리두가 기초적인 테스크라면 시스템이 제공하는 언두와 리두 버튼만을 사용하라. 흔들기 제스처가 언두와 리두를 발생시키는 주요 방식이라는 것과 같은 테스크를 두 가지 다른 방식으로 제공하는 게 혼란을 일으킬 수 있음을 기억하라. 만약 언두와 리두를 위해 명백한 전용 컨트롤을 제공하는 게 중요하다고 결정했다면, 네비게이션 바에 시스템이 제공하는 버튼을 넣어라. (이버튼들에 더 자세히 배우고싶다면 Toolbar and Navigation Bar Buttons를 보라.)

언두와 리두 기능을 사용자의 당장의 콘텍스트에 깔끔하게 연관짓지, 이전 콘텍스트에는 하지 않는다. undone과 redone되도록 할 액션의 컨텍스트를 생각해보라. 일반적으로, 사용자는 그들의 변경과 액션이 즉각 영향을 미치길 원한다.