검색결과 리스트
quick action에 해당되는 글 1건
- 2015.10.16 [iOS9] 3D Touch 시작하기
글
[iOS9] 3D Touch 시작하기
애플개발자 라이브러리 Getting Started With 3D Touch를 번역한 글입니다.
iOS 9부터 새 아이폰 모델들의 유저인터페이스에 3차원 개념이 도입되었습니다.
- 사용자는 앱 기능에 즉시 접근하기 위해 홈스크린 아이콘을 press 할수 있습니다.
- 앱 안에서는, 컨텐츠를 미리보기하거나 특정 기능에 대한 빠르게 접근하기 위해 뷰를 press 할수 있습니다.
샘플코드를 참고하려면, 다음 Xcode 프로젝트를 다운로드 하세요.
- ApplicationShortcuts: Using UIApplicationShortcutItem 예제는 홈스크린 정적, 동적 퀵액션(quick actions)을 설명합니다.
- ViewControllerPreviews: Using the UIViewController previewing APIs 는 퀵액션 뿐만아니라 peek(미리보기), pop(커밋)을 설명합니다.
- Touch Canvas: UITouch 클래스의 새로운 force 속성을 설명합니다.
홈스크린 퀵액션
사용자는 앱을 시작하기 위해 아이콘을 탭할 수 있고, 홈스크린을 편집하기 위해 앱아이콘을 터치 앤 홀드할수 있습니다. iPhone 6s, iPhone 6s Plus 에서는 앱 아이콘을 pressing 해서 퀵액션 집합을 볼수 있습니다. 사용자가 퀵액션을 선택하면 앱은 활성화되어 실행되고 app delegate는 퀵액션 메시지를 수신합니다.
가장 좋은 퀵액션은 사용자와 앱과의 인터랙션을 예측가능하게 합니다. iOS 9 SDK는 새 아이폰 모델에서 사용가능한 정적,동적 퀵액션을 정의하는 API들을 제공합니다.
- Info.plist 파일에 UIApplicationShortcutItems 배열의 정적 퀵액션을 정의하세요.
- UIApplicationShortcutItem 클래스 및 API와 함께 동적 퀵액션을 정의하세요. 앱의 shared UIApplication에 새로 추가된 shortcutItems 속성을 사용하여 동적퀵액션을 추가하세요.
두 타입의 퀵액션 모두 최대 두줄의 텍스트 라인과 옵셔널 아이콘을 노출합니다.
Peek 과 Pop
다양한 강도의 사용자 press 에 반응하도록 뷰컨트롤러들을 활성화할수 있습니다. 사용자가 더 깊이 press 할수록 3단계의 인터렉션이 처리됩니다.
- 1단계: 컨텐츠 preview 사용가능이 표시됨
- 2단계: 직접 수행할수 있는 옵션들(peek quick action)과 함께 preview가 보여짐(peek)
- 3단계: preview 에서 보여졌던 뷰로 네비게이션됨(pop)
peek과 pop를 적용하면 시스템이 다음단계 전환에 대한 압력의 강도를 결정합니다. 사용자는 Settings > Accessibility > 3D Touch 에서 전환에 대해 조정할수 있습니다.
Peek 가용유무 표시
- 가볍게 누르면, 주변 컨텐츠가 블러처리 되면서 추가컨텐츠 미리보기 가능함이 표시됩니다.
Peek
- 좀더 깊게 누르면, preview 로 전환됩니다. preview는 일반적으로 더 많은 컨텐츠를 보여주도록 구성됩니다.(그림은 메일앱)
- 사용자가 이 시점에 터치를 멈추면 peek 은 사라지고, 앱은 이전 상태로 되돌아갑니다.
- 대신 좀더 깊게 누르면, 시스템이 제공하는 pop 전환을 사용하여 preview가 네비게이션되고, pop 뷰는 앱 루트뷰를 채우고 네비게이션 백버튼이 노출됩니다. (마지막 단계의 pop view 사진은 표시하지 않았음)
Peek quick actions
- 터치를 멈추지 않고 preview 위쪽으로 스와이프하면, 시스템은 preview 와 연관있는 peek 퀵액션을 노출합니다.
- 각 peek 퀵액션은 앱에 대한 딥링크입니다.
- 일단 peek 퀵액션이 화면에 노출되면, 사용자가 터치를 멈추어도 preview 는 퀵액션을 탭 할때까지 화면에 남아있습니다.
웹뷰 내의 링크들에 대한 peek과 pop도 활성화 할수 있습니다. Web View Peek and Pop 를 참고하세요.
Force Properties
- iOS 9 부터 UITouch 클래스는 3D Touch 커스텀 구현을 지원하기 위한 2개의 새로운 속성인 force와 maximumPossibleForce 를 갖습니다.
- iOS 디바이스에 최초로, 이 속성들은 앱이 수신하는 UIEvent 객체안에서 터치압력을 탐지하고 반응할수 있게해줍니다.
- 터치의 force는 매우 동적인 범위를 갖으며 부동소수로 표현됩니다.
접근성과 3D Touch 휴먼인터페이스 가이드라인
- 모든 사용자가 앱의 피처에 접근할수 있도록 보장하기 위해서, 3D Touch 가용유무에 따라 코드를 브랜치하세요.
- Checking for 3D Touch Availability 를 참고하세요.
3D Touch 는 3D Touch 디바이스들, 그리고 활성화 되었을 때에만 사용가능합니다. iOS 9 에서 3D 터치는 기본으로 활성화되어 있으며 Setting > Accessibility > 3D Touch 메뉴에서 비활성화 할수 있습니다.
- 3D Touch 가 사용가능하면, 기능의 장점을 활용하세요. 사용가능하지 않다면, touch and hold 와 같은 대안을 제공하세요.
- 3D Touch 기능은 VoiceOver를 지원합니다. VoiceOver 를 배우려면, Accessibility Programming Guide for iOS 를 참고하세요.
- 3D Touch 와 함께 사용가능한 새로운 기능에 대한 가이드는 iOS Human Interface Guidelines 문서의 3D Touch 를 참고하세요.
개발환경
- Xcode7 은 3D Touch 개발을 지원합니다. Xcode의 모든 디버깅 기능은 새 기능을 구현하는데 사용할 수 있습니다.
- Xcode7과 함께 3D Touch 를 지원하는 디바이스 상에서 개발해야합니다. 시뮬레이터는 3D Touch를 지원하지 않습니다.
코드로 peek 과 pop 뷰컨트롤러들을 구현해야합니다. 인터페이스 빌더는 3D Touch 전환과 뷰컨트롤러들 설정에 대한 그래피컬한 지원을 하지 않습니다.
모든 기능을 모든 사용자들이 사용할수 있도록 3D Touch 활성화상태와 비활성상태 모두 테스트 해야합니다.
- 3D Touch 디바이스의 Settings > General > Accessibility > 3D Touch 메뉴에서 비활성화 할수 있습니다.
'아이폰' 카테고리의 다른 글
| [iOS9] 3D Touch 시작하기 (0) | 2015.10.16 |
|---|---|
| [iOS] 익스텐션 (Extension) (0) | 2015.08.18 |
| [iPhone] 아이폰앱 디자인 정석(TapWorthy) (1) | 2013.07.07 |
| [iPhone] 아이폰 앱 디자인 실수: 문맥에 대한 간과 (0) | 2013.02.16 |
| [iPhone] iOS6 회전 지원하기 (0) | 2013.01.25 |
| [iPhone] UIView 애니메이션과 코어 애니메이션(CoreAnimation) (0) | 2013.01.23 |