본문 바로가기

iOS/UIUX

[HIG] User Interaction: Gestures

iOS 기기를 사용하는 사람들은 터치스크린 제스처를 이용한다.

제스처는 컨텐츠와의 가까운 개인적 연결을 이끌어 내며, 스크린 위의 사물들의 직접적인 조작 느낌을 향상한다.

1. 가장 중요한 규칙으로서, 표준 제스처를 사용하라.

사람들은 표준 제스처에 친숙하다. 표준 제서츠로 가능한 행동을 다른 방식으로 동작하는 걸 배우길 꺼려할 것이다.

게임이나 다른 immersive 앱에서, 커스텀 제스처는 좋은 사용자 경험이 될 수 있다.

이외의 앱에서는, 표준 제스처(standard gestures)를 사용하여 사용자에게 다른 노력을 요구하지 않도록 해야 한다.

2. 표준 제스처를 비표준적인 행동을 동작하는데 사용하지마라.

게임을 위해 사용하는 것이 아니라면, 표준 제서츠러의 의미를 바꾸는 것은 사용자에게 혼동을 일으킬 수 있다.

3. 시스템의 스크린 가장자리 제스처를 방해하지 마라

기기의 종류에 따라서, 스크린 가장자리에서 동작할 수 있는 제스처는 여러가지가 있다.

홈스크린, 앱스위처, 알림 센터, 컨트롤 센터, 독(Dock) 이 있다.

사용자는 모든 앱을 사용하면서도 이 동작들이 동작하길 예상한다.

아주 드문 경우에 게임의 경우 가장 자리 제스처가 시스템보다 더 우선수위의 제스처를 가질 수 있다.

개발자를 위한 문서는 UIViewController  preferredScreenEdgesDeferringSystemGestures 를 참고하자.

4. 인터페이스 기반의 네비게이션과 액션에 대한 단축 제스처를 제공하라.

탭 동작이 두 번이나 더 추가되는 경우가 있더라도, 가능하다면 간단하고 가시적인 탐색과 동작을 제공해야 한다. 

많은 시스템 앱들은 이전 스크린으로 돌아갈 수 있는 탭 가능한 뒤로가기 버튼을 제공하며, 네비게이션 바를 가지고 있다.

하지만, 많은 사용자들ㅇ느 스크린의 옆을 스와이핑하여 뒤로 가기를 할 수 있어야 한다.

iPad에서는 사람들은 홈 버튼을 눌르거나, 네 손가락을 모으는 동작을 이용하여 홈 스크린으로 나갈 수 있어야 한다.

5. 두 개 이상의 손가락을 이용한 제스처는 몇몇 앱의 경험을 향상한다.

모든 앱이 두 손가락 이상을 사용한 제스처에 알맞지는 않지만, 몇몇의 앱에서는 사용자의 경험을 풍부하게 한다.

예를 들어, 그리기 앱이나 게임이 있다.

개발자를 위한 문서는 UIGestureRecognizer 를 참고하자.

기본 제스처

모든 앱과 시스템에 통틀어 아래의 표준 제스처는 동일해야 한다.

탭(Tap). 컨트롤을 수행하거나 아이템을 선택한다.

드래그(Drag). 양옆으로 객체를 움직이거나 스크린과 다른 스크린사이에 객체를 드래그 할 수 있다.

플릭(Flick). 빠르게 스크롤하거나 확장한다.

스와이프(Swipe). 한손가락을 이용하여 스와이프할 경우, 이전 화면으로 되돌아간다. 분할된 뷰 컨트롤러의 숨겨진 뷰를 드러낸다. 테이블 뷰의 삭제 버튼을 드러낸다. 또는, 엿보기 행동을 드러낸다. iPad에서 네 손가락을 이용하면, 앱을 전환한다.

더블 탭(Double tap). 컨텐츠 중심 또는 이미지의 줌인을 수행하거나, 이미 줌인되어 있다면, 이미지를 줌아웃 한다.

핀치(Pinch). 바깥으로 핀치할 때 줌인 한다. 안쪽으로 핀치할 때 줌아웃을 수행한다. 

세손가락 핀치(Three-finger pinch). 안쪽으로 핀치하면 선택된 텍스트를 카피한다. 바깥으로 핀치하면 복사된 텍스트를 붙여넣는다.

세손가락 스와이프(Three-finger swipe). 왼쪽으로 스와이프하면 되돌리기(undo)를 수행한다. 오른쪽으로 스와이프하면 다시하기(redo)를 수행한다.

터치후 홀드(Touch and hold). 선택가능하거나 수정가능한 텍스트에 수행하면, 핑거팁 아래의 텍스트를 하이라이트하며 수정 메뉴를 표시한다. 

회전(Rotate). 이미지나 뷰를 회전한다.

흔들기(Shake). 되돌리기(undo), 다시하기(redo)를 수행한다.