iOS Developer Library

Developer

iOS Human Interface Guidelines

iBooks

Edit Menu

사용자들은 편집 메뉴를 꺼냄으로서, 잘라내기, 붙이기, 선택하기 등의 동작을 텍스트 뷰, 웹 뷰, 또는 이미지 뷰에서 수행할 수 있다.

image: ../Art/edit_menu_imessage_2x.png

앱의 콘텐트에 대한 보다 많은 제어를 사용자에게 주기 위해 메뉴의 몇 몇 동작을 조정할 수 있다. 예를 들어 :

  • 어떤 표준 메뉴 명령이 현재 콘텍스트에 적당한지를 지정할 수 있다.

  • 메뉴가 나타나기 전에 위치를 결정할 수 있으므로 앱 UI의 중요한 부분이 가려지는 것을 막을 수 있다.

  • 메뉴를 드러내기 위해 사용자가 더블-탭을 했을 때, 기본적으로 선택되어 있는 오브젝트를 설정할 수 있다.

메뉴 그 자체의 컬러나 모양을 바꿀 수는 없다.

코드로 구현하는 법을 보다 잘 알고 싶으면, iOS App Programming Guide“Copy, Cut, and Paste Operation”을 보라

사용자가 예상하는 대로 편집 메뉴가 동작하도록 하기 위해, 당신은 다음과 같은 작업을 해야한다 :

현재 컨텍스트에 의미가 통하는 명령을 디스플레이 하라. 예를 들어, 선택된 게 없다면, 메뉴는 Cut이나 Copy를 포함하지 않아야 한다. 이 명령들은 선택에 동작하기 때문이다. 유사하게, 무언가가 선택되어 있다면, 메뉴는 Select를 포함하지 않아야 한다. 커스텀 뷰에서 편집 메뉴를 지원한다면, 메뉴가 디스플레이하는 명령들이 현재 컨텍스트에 적합하게 만들 책임이 있다.

메뉴 디스플레이를 레이아웃에 맞춰라. iOS는 삽입 포인트(커서) 또는 선택의 위 또는 아래에, 가능한 공간에 따라 디스플레이하며 메뉴 명령들과 콘텐트가 어떻게 연관되었는지를 사용자가 알 수 있도록 메뉴 포인터를 둔다. 메뉴가 나타나기 전에 프로그램적으로 메뉴의 위치를 결정할 수 있기 때문에 UI의 중요한 파트가 가려지는 것을 막을 수 있다.

메뉴를 발생시키기 위해 사람들이 사용할 수 있는 제스처도 지원하라 터치 앤 홀드 제스처가 편집 메뉴를 드러내는 중심적인 방법이지만, 텍스트 뷰에서 단어를 선택하기 위해 단어를 더블 탭 하는 경우에도 메뉴가 드러난다. 커스텀 뷰에서 메뉴를 지원한다면, 두 제스처 모두에 반응하도록 하라. 추가적으로, 사용자가 더블 탭하면 기본적으로 선택할 오브젝트를 지정할 수도 있다.

편집 메뉴에서 가능한 명령을 수행하는 버튼을 당신의 UI에서 만드는 것을 지양하라. 예를 들어, 사용자가 복사 작업을 편집 메뉴를 통해 수행하게 하는 것이 Copy 버튼으로 하는 것 보다 낫다. 왜냐하면, 사용자들은 동일한 작업을 하는 두가지 방식이 있는 이유를 궁금해 할 것이기 때문이다.

스태틱 텍스트를 선택할 수 있도록 하는 것이 사용자에게 도움이 된다면 고려해 보라. 예를 들어, 사용자가 이미지의 캡션을 복사하길 원할 수는 있지만, “Accounts" 같은 탭 아이템이나 화면 타이틀을 복사하고 싶어하지는 않을 것이다. 텍스트 뷰에서, 단어별 선택이 기본이 되어야 한다.

버튼 타이틀을 선택가능하게 하지 마라. 선택가능한 버튼 타이틀은 버튼을 동작시키지 않고서는 편집 메뉴를 드러내는 것이 어렵다. 일반적으로, 버튼처럼 동작하는 요소들은 선택가능할 필요가 없다.

copy와 paste의 지원과 함께 undo와 redo의 지원을 결합하라. 사람들은 종종 생각이 바뀌었을 때 최근의 작업을 되돌릴 수 있다고 예상한다. 편집 메뉴는 그 액션을 수행하기 전에 확인을 받지 않기 때문에, 사용자들에게 그 액션들을 언두하거나 리두할 수 있는 기회를 주는 게 좋다.

커스텀 편집 메뉴를 만들어야 한다면 다음의 가이드라인을 따르라. 아래 그림처럼 :

image: ../Art/custom_edit_menu_2x.png

사용자의 선택에 직접적으로 수정하고 변경하거나 또는 실행하는 편집 메뉴 아이템을 만들어라. 사람들은 표준 편집 메뉴 아이템들은 현재 콘텍스트내의 텍스트나 오브젝트에 액션을 하기를 예상하며, 당신의 커스텀 메뉴 아이템이 유사하게 동작하기를 기대한다.

커스텀 아이템들은 모든 시스템-제공 아이템들 뒤에 나열하라.. 당신의 커스텀 아이쳄과 시스템 제공 아이템을 섞어놓지 마라.

커스텀 메뉴 아이템의 숫자를 합리적으로 유지하라.. 너무 많은 선택으로 사용자에게 위압을 가하고 싶지 않을 것이다.

커스텀 메뉴 아이템에 간결한 이름을 사용하라. 그리고 그 이름을 명령이 무엇을 하는 지를 정확하게 묘사하라. 일반적으로, 아이템 이름은 수행될 액션을 설명하는 동사가 되어야 한다. 아이템 이름으로 하나의 대문자화된 단어를 보통 사용하겠지만 만약 짧은 문장을 사용해야 한다면 타이틀-스타일 대문자화를 하라.