iOS Developer Library

Developer

iOS Human Interface Guidelines

iBooks

iOS와 융합하기

iOS와 융합한다는 것은 사용자들에게 월등하고 즐거운 경험을 느끼게 해 주며 플랫폼 안에서 편안함을 준다; 이것은 빌트 인 앱의 복제품 같은 앱을 만드는 것을 의미하지 않는다.

당신의 앱을 플랫폼과 융합하는 가장 좋은 방법은 iOS를 움직이는 주제를 이해하는 것이며 - 이것은 Designing for iOS 7에서 설명했다 - 그것을 표현하는 법을 알아내는 것이다. 이렇게 할 때, 사용자들이 예상하는 경험을 제공하는 데 도움을 주는, 이 섹션의 가이드라인을 따르기 바란다.

표준 UI요소들을 정확하게 사용하라

가능한, UIKit이 제공하는 표준 요소들을 사용하는 게 좋다. 커스텀 요소가 아닌 표준 요소를 사용하면, 당신과 사용자 모두는 다음과 같은 이익이 있다:

  • 표준 UI 요소들은 iOS가 새롭게 외형을 디자인한 요소를 소개하면 자동으로 업데이트가 된다. - 커스텀 요소들은 업데이트가 되지 않는다.

  • 표준 UI 요소들은 외관이나 동작방식을 커스터마이즈 할 수 있는 다양한 방법을 제공하려고 한다. 예를 들어, 모든 뷰들은(UIView의 상속을 받은 오브젝트들) 틴트할 수 있으므로, 앱에 컬러를 더하는 게 쉽다. UI요소들에 컬러를 더하는 방법을 알고 싶다면, iOS 7 UI 트랜지션 가이드 문서의 “Using Tint Color”를 보라.

  • 사람들은 표준 UI요소들에게서 편안함을 느끼므로, 당신의 앱에서 그걸 사용하는 방법을 즉각 이해한다.

표준 U요소를 사용해서 얻는 장점을 잘 이용하려면, 다음 사항이 매우 중요하다 :

모든 UI 요소들에 대한 가이드라인을 따르라. UI요소들이 사람들이 예상하는 대로 보이고 움직일 때, 그들은 이전의 경험에 기대어 당신의 앱에서 그것을 활용할 수 있다. UI 요소들에 대한 가이드라인은 Bars,Content Views, Controls 그리고 Temporary Views 에서 볼 수 있다.

다른 버전의 iOS로부터 UI요소들의 스타일을 섞지 마라. 사용자가 현재 사용하고 있는 버전이 아닌 다른 버전에 속하는 것 처럼 보이는 UI요소들을 표시함으로서 사용자에게 혼란을 줄 필요는 없다.

일반적으로, 표준 동작을 하는 커스텀 UI의 제작을 삼가라. 먼저, 표준과 정확히 동일하게 동작하는 커스텀 UI 요소를 만드는 이유가 무엇인지를 자신에게 물어보라. 만약 단지 커스텀한 외관을 위한 것이라면 UIKit의 appearance customization API들 또는 틴트 컬러를 이용해서 표준 요소들의 외관을 바꾸는 것을 고려해 보라. 만약 약간 다른 동작방식을 원한다면, 표준 요소에서 프라퍼티나 어트리뷰트를 조정해서 얻을 수 있는 것은 아닌지 찾아보라. 완전 다른 동작방식을 원한다면, 표준 요소와 너무 비슷하게 생기지 않은 모양의 커스텀 요소를 재디자인 하는 게 최상이다.

시스템에 정의된 버튼과 아이콘을 다른 의미로 사용하지 마라. iOS는 당신이 앱에서 사용할 수 있는 많은 버튼들과 아이콘들을 제공한다. 그 버튼과 아이콘들의 문서에 있는 문맥적인 의미를 이해하라; 그 모양에 따라 당신이 자의적으로 해석하지 말라. (각 아이콘들의 의미에 대해서는 Toolbar and Navigation Bar Buttons and Tab Bar Icons에서 찾아볼 수 있다)

시스템이 제공하는 버튼이나 아이콘에서 당신 앱에 적당한 기능을 의미하는 것을 찾지 못했다면, 당신의 것을 만들면 된다. 커스텀 아이콘을 만드는 데 도움이 되는 가이드라인은 Bar Button Icons를 보라.

만약 당신의 앱이 몰입형 테스크나 경험을 가능하게 한다면, 완전히 전체적으로 커스텀 컨트롤을 만드는 것도 합리적이다. 왜냐면, 당신은 독특한 환경을 만드는 것이기 때문에, 그리고 그 환경을 컨트롤하는 법을 찾아나가는 것은 그러한 앱에서 사용자들이 예상하는 경험이기 때문이다.

파일과 문서 관리를 경시하기

iOS 앱들은 사람들이 파일을 만들고 수정할 수 있지만, 사용자들이 iOS 장치의 파일 시스템에 대해 생각해야 한다는 것을 의미하지는 않는다.

만약 당신의 앱이 사람들이 문서를 만들고 편집하는 것을 돕는다면, 문서 선택기 같은 것을 제공해서 존재하는 것을 열거나 새로운 것을 만들 수 있도록 하는 게 좋다. 이러한 문서 선택기는 :

  • 아주 그래피컬하다. 사람들은 화면 위의 도큐멘트 대표 비주얼을 보는 것만으로 원하는 도큐멘트를 구별할 수 있어야 한다.

  • 그들이 원하는 것을 하기 위해 최소한의 가능한 제스처들을 만들도록 하라. 예를들어, 사람들은 존재하는 문서들을 회전 또는 격자를 통해 수평으로 스크롤 할 수 있고 원하는 것을 한 번의 탭으로 열 수 있어야 한다.

  • 새 문서 만들기 기능을 포함하라. 새 문서를 만들기 위해 어딘가로 가야할 필요없이, 문서 선택기가 새로운 문서를 만드는 플레이스 홀더 이미지를 탭 할 수 있도록 제공하라.

예를 들어, 페이지는 그래픽 라이브러리 보기에서 새 문서를 만들 수 있는 쉬운 방법과 함께 사용자 문서를 표시한다.

image: ../Art/document_library_2x.png

다른 앱에서 만들어진 문서를 앱에서 사용하고자 한다면, 문서에 접속을 돕는 모달 문서 피커뷰 컨트롤러를 표시할 수 있다.
문서 피커뷰 컨트롤러는 사용자의 iCloud 드라이브에 있는 문서 뿐만 아니라 다른 문서-생성이나 문서-저장 앱에 관련된 'Document Provider'확장을 표시할 수 있다. 'Document Provider'확장에 대하여 알고 싶다면, Document Provider Extensions를 보아라. 문서 피커뷰 컨트롤러에대해 알고 싶다면, Document Picker Programming Guide를 봐라.

직접 삭제하거나 취소하지 않는 이상 그들의 작업이 항상 저장되고 있다는 확신을 줘라. 만약 당신의 앱이 문서를 만들거나 편집하는 앱이라면, 사용자들에게 명시적으로 저장을 하도록 요구하지 마라. iOS 앱들은 주기적으로 그리고 다른 문서를 열거나 앱에서 떠날 때 사용자의 입력을 저장할 책임을 져야 한다.

만약 당신 앱의 주요 기능이 콘텐트 생산이 아니라면 - 하지만, 사람들이 정보를 보는 것과 그것을 편집하는 것 사이를 오간다면 - 변경사항을 저장할 것인지 묻는 게 가능하겠다. 이 시나리오의 경우, 그 정보를 표시하는 뷰에 Edit버튼을 제공하는 게 동작에 좋다. 사람들이 Edit버튼을 탭하면, Save 버튼으로 대체하고 Cancel 버튼을 더하라. Edit 버튼의 변화는, 사람들에게 수정 모드에 있고 변경사항을 저장해야 할지도 모른다는 것을 상기시킨다. 그리고 Cancel 버튼은 변경사항들을 저장하지 않고 빠져 나올 수 있는 기회를 제공한다.

필요하다면 설정 가능하게하라

어떤 앱들은 사용자들이 설정을 하거나 설정값 변경을 할 수 있도록 해야 하지만, 대부분의 앱들은 이것을 피하거나 늦출 수 있다. 성공적인 앱들은 대부분의 사람들이 바로 앱을 사용할 수 있도록 하고 메인 UI에서 사용자 경험을 조정할 수 있는 방법을 제공한다.

가능한 사용자를 Settings 앱으로 보내는 것을 피하라. 사용자들이 Settings 앱으로 가기 위해서는 먼저 당신의 앱에서 빠져나갈 수 밖에 없다는 것을 중요하게 기억하라. 이렇게 하도록 권장해선 안된다.

대부분의 사용자들이 예상하는 방식대로 기능하도록 앱을 디자인 하면, 설정의 필요성을 줄일 수 있다. 사용자의 정보가 필요하다면 사용자에게 제공해 달라고 요청하는 것보다 시스템에 질의 하라. 만약 사용자들이 거의 하지 않을 변경사항을 위한 앱 설정을 제공하고자 한다면, iOS App Programming Guide“The Settings Bundle”에서 코드를 통해 제공하는 방법을 배우라.

필요하다면, 앱 내에서 비헤비어를 설정하도록 하라. 설정 옵션을 당신 앱에 넣는 것은, 설정을 위해 앱을 나가지 않아도 되기 때문에 다이나믹하게 변경사항에 대응할 수 있도록 한다.

최대한, 설정 옵션들을 메인 UI에서 제공하라. 메인 UI에 옵션을 넣는 것은 주요 테스크인 경우이고 사용자가 그것을 자주 바꾸려 할 것이라면 이해될 것이다. 만약 사람들이 앱의 설정을 가끔씩 변경할 것 같으면, 분리된 뷰에 넣는 게 맞다.

iOS 기술을 활용하기

iOS는 일반적인 작업을 지원하는 기술들과 사용자들이 예상하는 방식의 시나리오를 풍성하게 제공한다. 이 예상은, 거의 항상 시스템이 지원하는 기술을 당신 앱에 통합하는 것이 커스텀 접근방법을 디자인하는 것보다 낫다는 것을 의미한다.

몇 몇 iOS 기술들은 - 멀티테스킹VoiceOver와 같은- 모든 앱이 함께 해야 할 시스템의 기능이다. 다른 것들은 특정한 앱의 기능을 가능하게 한다. 예를들어 티켓이나 기프트카드를 관리한다던가(패스북), 앱 내 구매를 가능하게 한다던가(인-앱 구매), 앱-내 광고를 표시한다거나(iAd Rich Media Ads), 게임 센터와 융합하고, iCloud를 지원하는 것이다.