Overview
- Design Principle
1.Aesthetic Integrity
2.Consistency
3.Direct Manipulation
4.perceptible Feedback
5.Metaphors---->app’s virtual objects and actions are metaphors for familiar experiences
6.User Control---->The best apps find the correct balance between enabling users and avoiding unwanted outcomes. An app can make people feel like they’re in control by keeping interactive elements familiar and predictable, confirming destructive actions, and making it easy to cancel operations, even when they’re already underway.
忠言逆耳不可行滩报,要用最自然的方式展示提示信息
- What's New in iOS 10
Now, people add widgets to the Search screen, which is accessed by swiping to the right on the Home screen and the Lock screen. You can also show a widget above the quick action list that appears when people use 3D Touch to press your app icon on the Home screen. The design and behavior of widgets has also changed. Be sure to review and update your existing designs accordingly.
增加針對(duì)Widgets和3D Touch的交互設(shè)計(jì)捉邢,提升notification的展現(xiàn)形式和傳達(dá)效率
Apps can integrate with Messages by implementing a messaging extension that appears below a conversation in Messages and lets people share app-specific content with friends. Apps can share text, photos, videos, stickers, and even interactive content, such as an in-message game.
分享功能推薦和Message做整合,即可以將text燎含、photos、videos腿短、stickers等以message的形式進(jìn)行分享
Apps can integrate with Siri and let people use their voice to perform specific types of app-specific actions, such as making calls, sending messages, and starting workouts.
在合理的使用場(chǎng)景下屏箍,提供Siri語(yǔ)音控制功能
- Interface Essentials
Most iOS apps are built using components from UIKit, a programming framework that defines common interface elements. This framework lets apps achieve a consistent appearance across the system, while at the same time offering a high level of customization. UIKit elements are flexible and familiar. They’re adaptable, enabling you to design a single app that looks great on any iOS device, and they automatically update when the system introduces appearance changes. The interface elements provided by UIKit fit into three main categories:
ps:一款iOS設(shè)備上的app,一定要看起來(lái)像iOS app橘忱,這也是從業(yè)人員必須對(duì)guidline了然于胸的意義
Interaction
- 3D Touch
Design big-enough peek views. Design a peek view that's large enough so that fingers don’t obscure its content. Make the peek detailed enough for people to decide whether to press a little deeper to fully open (pop) the item.
Adopt Peek and Pop consistently.
同一個(gè)app里是否使用peek和pop赴魁,效果要統(tǒng)一,否則會(huì)讓用戶在使用時(shí)感到困惑
Allow every peek to be popped.
Don’t enable peeking and an edit menu for the same item.
Don’t make peek the only way to perform item actions.
不同的pressure作用在屏幕上會(huì)產(chǎn)生不同的效果钝诚,即文檔中提到的peek和pop兩種效果颖御,設(shè)計(jì)中需要考慮如何加以利用
- Accessibility
iOS offers extensive accessibility features for users with vision loss, hearing loss, and other disabilities. Most UIKit-based apps can be made accessible with very little effort, allowing more people to use your app while providing an equally engaging experience for all.
確保app在設(shè)計(jì)的過(guò)程中,對(duì)disabilities更友好
- Audio
- Authentication
Delay sign-in as long as possible. People often abandon apps when they are forced to sign in before doing anything useful. Give them a chance to fall in love with your app before making a commitment to it. In a shopping app, let people browse your merchandise immediately upon launch and require sign-in only when they're ready to make a purchase. In a media streaming app, let people explore your content and see what you have to offer before signing in to play something.
讓信息驗(yàn)證變成一件自然而然的事情凝颇,避免在user沒(méi)獲得充分的說(shuō)明和準(zhǔn)備之前讓其提供私人信息
Explain the benefits of authentication and how to sign up for your service. If your app requires authentication, display a brief, friendly explanation on the login screen that describes the reasons for the requirement and its benefits. Also, remember that not everyone using your app has an account from the start. Make sure you explain how to get one, or provide a simple in-app way to sign up.
Minimize data entry by showing appropriate keyboards. When asking for an email address, for example, show the email keyboard screen, which includes helpful data entry shortcuts.
- Data Entry
Make data entry as efficient as possible. Consider using a picker or table instead of a text field, for example, because it’s easier to choose from a list of predefined options than to type a response.
通過(guò)用picker或table代替text field的方式潘拱,盡量簡(jiǎn)化用戶填寫信息的過(guò)程
Get information from the system whenever possible.
Provide reasonable default values.
如無(wú)必要,勿增實(shí)體
Before enabling a Next or Continue button, make sure all required fields have values. Use the enablement of the button as a visual cue that it’s time to proceed.
Dynamically validate field values.
Ease navigation through value lists.
繁復(fù)的流程需要navigation為用戶緩解焦慮感
Show a hint in a text field to help communicate purpose.
- Feedback
Your app can also ask the system to generate different types of haptic feedback.
iOS manages the strength and behavior of this feedback.
在觸感反饋和聲音上拧略,系統(tǒng)提供了有層次的輔助交互提示效果
Use haptics judiciously.
In general, provide haptic feedback in response to user-initiated actions.
Don’t redefine feedback types.
Fine tune your visual experience for haptics.
Synchronize haptics with accompanying sound.
Notification |
---|
Success |
Warning |
Failure |
Impact |
---|
Light |
Medium |
Heavy |
Selection |
---|
Selection |
File Handling
First Launch Experience
Provide a launch screen.
Launch in the appropriate orientation.(Pocket芦岂、iBooks等和書(shū)籍、文件相關(guān)的app會(huì)提供Lanscape mode這種方式)
Make learning fun and discoverable.
Don’t ask people to rate your app too quickly or too often.Always provide a way to opt out of rating prompts and never force users to rate your app.
- Gestures
People generally expect the following standard gestures to work the same across the system and in every app.
Standard gesture | Function |
---|---|
Tap | Activates a control or selects an item. |
Drag | Moves an element from side-to-side or drags an element across the screen. |
Flick | Scrolls or pans quickly. |
Swipe | returns to the previous screen, reveals the hidden view in a split view controller, reveals the Delete button in a table-view row, or reveals actions in a peek. When performed with four fingers on an iPad, switches between apps. |
Double tap | Zooms in and centers content or an image, or zooms out if already zoomed in. |
Pinch | Zoom in & out |
Touch and hold | a magnified view for cursor positioning. |
Shake | Initiates undo or redo |
In games and other immersive apps, custom gestures can be a fun part of the experience. In other apps, it’s best to use standard gestures so extra effort isn’t needed to discover or remember them.
除了部分需要沉浸式體驗(yàn)的app垫蛆,手勢(shì)的創(chuàng)新會(huì)加大用戶的學(xué)習(xí)成本禽最,不推薦;
另外也不要將系統(tǒng)經(jīng)典的手勢(shì)輕易賦予新的含義,這樣會(huì)讓用戶感到困惑月褥;
Don’t block systemwide gestures.
Offer shortcut gestures to supplement, not replace, interface-based navigation and actions.
Many system apps include a navigation bar that provides a clear, tappable button back to the previous screen. But users can also navigate back by swiping from the side of the screen.
Use multifinger gestures to enhance the experience of some apps.
這種情況一般出現(xiàn)在game或繪畫(huà)類的app中
- Loading
Customize loading screens.
Show content as soon as possible.
- Modality 模態(tài)
Minimize the use of modality.
Provide an obvious and safe way to exit a modal task.
Don’t display a modal view above a popover.
Modal view style:
1弛随、Full screen
2、Page sheet
3宁赤、Form sheet
4舀透、Current context
- Navigation
In iOS, there are three main styles of navigation.
Hierarchical navigation.
Flat navigation.
Content-driven or experience-driven navigation.
Request Permission
Settings
If you need information about the user, device, or environment, query the system for it whenever possible instead of asking the user.
The Settings app is a central location for making configuration changes throughout the system, but people must leave your app to get there. It’s far more convenient to adjust settings directly within your app.
- Terminology
Strive for an informal, friendly tone.
Avoid acronyms and technical jargon that people might not understand.
別裝逼
- Undo and Redo
Briefly and precisely describe the operation to be undone or redone.
文案描述要清晰
If you use the shake gesture for undo and redo, don’t use it for other actions.
Provide undo and redo buttons sparingly.
個(gè)人只在和shake手勢(shì)配合時(shí)看到過(guò)undo&redo這種用法,文檔不建議大規(guī)模使用
Features
Multitasking
Notifications
Apps can use notifications to provide timely and important information anytime, whether the device is locked or in use.
** notification styles:
1决左、Banner
Appears at the top of the screen for a few seconds while the device is in use, then disappears.
2愕够、Alert
Appears at the top of the screen while the device is in use and stays there until manually dismissed.
People must explicitly opt into receiving notifications from every app that supports them—they’re asked to do so the first time they use the app. If someone opts out, they can always visit Settings to opt in.
app第一次啟動(dòng)時(shí)需要請(qǐng)求相應(yīng)的權(quán)限,banner和alert也是其中之一
- Printing
- Quick Look
- Siri
- TV Providers
Visual Design
- Animation
Don’t use animation for the sake of using animation. Excessive or gratuitous animation can make people feel disconnected or distracted, especially in apps that don’t provide an immersive experience.
- Branding
Great apps express unique brand identity through smart font, color, and image decisions. Provide enough branding to give people context in your app, but not so much that it becomes a distraction.
好的設(shè)計(jì)要有自己的特色佛猛,但是不能讓這些設(shè)計(jì)遮蓋了內(nèi)容惑芭,喧賓奪主
Avoid displaying a logo throughout your app unless it’s necessary for providing context.
- Color
Look to the system’s color scheme for guidance when picking app tint colors that look great individually and in combination, on both light and dark backgrounds.
R | G | B | |
---|---|---|---|
Red | 255 | 59 | 48 |
Orange | 255 | 149 | 0 |
Yellow | 255 | 204 | 0 |
Green | 76 | 217 | 100 |
Teal Blue | 90 | 200 | 250 |
Blue | 0 | 122 | 255 |
Purple | 88 | 86 | 214 |
Pink | 255 | 45 | 85 |
The colors in your app should work well together, not conflict or distract.
Consider choosing a key color to indicate interactivity throughout your app.
Test your app’s color scheme under a variety of lighting conditions.
Avoid using the same color for interactive and noninteractive elements.
Be aware of colorblindness and how different cultures perceive color.
*Avoid using these color combinations as the only way to distinguish between two states or values. For example, instead of using red and green circles to indicate offline and online, use a red square and a green circle. *
不同文化背景和地區(qū)的用戶對(duì)顏色賦予的意義可能不同,特別需要注意的是:在條件允許的情況下继找,考慮到某些視覺(jué)缺陷人群的需求遂跟,在某些重要操作結(jié)點(diǎn)應(yīng)避免使用某些顏色組合
Use sufficient color contrast ratios. Insufficient contrast in your app makes content hard to read for everyone. Icons and text might blend with the background, for example. An online color contrast calculator can help you accurately analyze the color contrast in your app, to ensure that it meets optimal standards. Strive for a minimum contrast ratio of 4.5:1, although 7:1 is preferred because it meets more stringent accessibility standards.
在瀏覽器中輸入online color contrast calculator可以找到這樣的網(wǎng)站,文檔建議contrast ratio的值最低應(yīng)該達(dá)到4.5:1 , 7:1 better
- Layout
- Typography
San Francisco is the system font on iOS. There are two variants of this font: SF UI Text for text 19 points or smaller, and SF UI Display for text 20 points or larger.
If possible, use a single font. Mixing several different fonts can make your app seem fragmented and sloppy. Consider using one font and just a few styles and sizes.
文字永遠(yuǎn)都不要凌駕于內(nèi)容
Graphics
- App Icon
Embrace simplicity.
Provide a single focus point.
Design a recognizable icon.
Use words only when they’re essential or part of a logo.
Don’t include photos, screenshots, or interface elements.
- App Icon Sizes
Device or context | Icon size |
---|---|
iPhone 6s Plus,iPhone 6 Plus | 180px by 180px |
iPhone 6s,iPhone 6,iPhone SE | 120px by 120px |
iPad Pro | 167px by 167px |
iPad,iPad mini | 152px by 152px |
Apple Store | 1024px by 1024px |
Don’t add an overlay or border to your Settings icon. iOS automatically adds a 1-pixel stroke to all icons so that they look good on the white background of Settings.
- Custom Icons
Provide two versions of custom tab bar icons. Provide icons for both the selected and unselected states.
Don’t use text in a custom tab bar icon. If you need to show text, display a title beneath the tab and adjust its placement accordingly.
ps : icon size omitted
- Image Size and Resolution
On a standard-resolution screen, one point (1/72 of an inch) is equal to one pixel. High-resolution screens have a higher pixel density. Because there are more pixels in the same amount of physical space, there are more pixels per point. As a result, high-resolution displays require images with more pixels.
A standard resolution image has a scale factor of 1.0 and is referred to as an @1x image. High resolution images have a scale factor of 2.0 or 3.0 and are referred to as @2x and @3x images. Suppose you have a standard resolution @1x image that’s 100px by 100px, for example. The @2x version of this image would be 200px by 200px. The @3x version would be 300px by 300px.
基礎(chǔ)知識(shí)說(shuō)明……
- Launch Screen
Every app must supply a launch screen.
The launch screen isn’t an opportunity for artistic expression. It’s solely intended to enhance the perception of your app as quick to launch and immediately ready for use.
Using an Xcode storyboard is the recommended approach, as storyboards are flexible and adaptable. You can use a single storyboard to manage all of your launch screens.
- System Icons
UI Bars
- Navigation Bars
Consider showing the title of the current view in the navigation bar.
Consider putting a segmented control in a navigation bar at the top level of an app.
Don’t include multisegment breadcrumb paths. The back button always performs a single action—returning to the previous screen.
Consider temporarily hiding the navigation bar when displaying full-screen content.
- Search Bars
There are two styles of search bars—prominent (the default) and minimal.
A search bar contains a single search field, which can include placeholder text and a Clear button. In addition to the search field, a search bar can contain a Cancel button for exiting the search.
If necessary, provide hints and context in a search bar.
Use the area under a search bar to help people get to content faster. Safari, for example, shows your bookmarks as soon as you tap the search field.
Scope Bar
A scope bar can be added to a search bar to let people refine the scope of a search.
Favor improving search results over including a scope bar.
- Status Bars
- Tab Bars
Tab bar buttons should not be used to perform actions. If you need to provide controls that act on elements in the current view, use a toolbar instead.
Avoid having too many tabs.
** TIPS**
It’s important to understand the difference between a tab bar and a toolbar, because both types of bars appear at the bottom of an app screen. A tab bar lets the user switch quickly between different sections of an app, such as the Alarm, Stopwatch, and Timer tabs in the Clock app. A toolbar contains buttons for performing actions related to the current context, such as creating an item, deleting an item, adding an annotation, or taking a photo. See Toolbars. Tab bars and toolbars never appear together in the same view.
- Toolbars
Avoid using a segmented control in a toolbar. Segmented controls let people switch contexts, whereas a toolbar is specific to the current screen. If you need to provide a way to switch contexts, consider using a tab bar instead.
避免使用toolbar來(lái)進(jìn)行切換頁(yè)面的操作,toolbar的操作應(yīng)該集中在當(dāng)前頁(yè)幻锁,這是她和tab bar在使用上最大的區(qū)別
UI Views
- Action Sheets
Provide a Cancel button if it adds clarity.
Use red for buttons that perform destructive or dangerous actions, and display these buttons at the top of an action sheet.
Avoid enabling scrolling in an action sheet.
- Activity Views
- Alerts
Alerts convey important information related to the state of your app or the device, and often request feedback.
Aside from these configurable elements, the visual appearance of an alert is static and can’t be customized.
Write short, descriptive, multiword alert titles. The less text people have to read onscreen, the better.
Avoid sounding accusatory, judgmental, or insulting.
Avoid explaining the alert buttons.
Generally, use two-button alerts. Two-button alerts provide an easy choice between two alternatives. Single-button alerts inform, but give no control over the situation. Alerts with three or more buttons create complexity and can require scrolling, which is a bad user experience. If you find that you need more than two choices, consider using an action sheet instead.
To the extent possible, use verbs and verb phrases that relate directly to the alert title and message—for example, View All, Reply, or Ignore. Use OK for simple acceptance. Avoid using Yes or No.
- Collections
A collection manages an ordered set of content, such as a set of photos, and presents it in a customizable and highly visual layout.
If your app requires it, more gestures can be added for performing custom actions.
Avoid creating radical new designs when a standard row or grid layout is sufficient.
Image Views
Maps
Pages
- Popovers
When a popover is visible, interactions with other views are normally disabled until the popover is dismissed.
Avoid displaying popovers on iPhones. Generally, popovers should be reserved for use in iPad apps. In iPhone apps, utilize all available screen space by presenting information in a fullscreen modal view, rather than in a popover.
不推薦在iPhone上使用這種形式凯亮,因?yàn)槠聊惶。褂胒ullscreen modal view是更優(yōu)選項(xiàng)
Scroll Views
Split Views
Tables
iOS implements two styles of table, plain and grouped.
- Text Views
Show the appropriate keyboard type.
- Web Views
UI Controls
- Buttons
1.System Buttons
Use verbs in titles. (prefer)
2.Detail Disclosure Buttons
Although you can use them in any type of view, Detail Disclosure buttons are commonly used in tables to access information about specific rows.
If you want people to tap the entire row to see additional detail, don’t use a Detail Disclosure button.
3.Info Buttons
4.Add Contact Buttons
- Edit Menus
Let people use the standard gestures to access edit options. People expect to reveal the menu by touching and holding or double-tapping content, such as text or a photo. Your app should respond to both gestures. You can define what becomes selected when someone double-taps. In a text view, selection by word should be the default.
Labels
-
Page Controls
-
Pickers/Date Pickers
A picker is often displayed at the bottom of the screen or in a popover when the user is editing a field or tapping a menu.
The height of a picker is roughly the height of five rows of list values. The width of a picker is either the width of the screen or its enclosing view, depending on the device and context.
- Progress Indicators
“三不原則“的第一條:不要讓我等哄尔,所以需要一些量化的提示來(lái)消除用戶急躁的情緒假消,以下是3種較常見(jiàn)的應(yīng)用場(chǎng)合:
1.Activity Indicators
2.Progress Bars
3.Network Activity Indicators
-
Refresh Content Controls
A refresh control is a specialized type of activity indicator, is hidden by default, and becomes visible when dragging down on the view to be reloaded.
Optionally, a refresh control can include a title. In most cases, this is unnecessary, as the animation of the control indicates that content is loading.
一般情況下,此處的title用默認(rèn)值就可以岭接,無(wú)需更改
- Segmented Controls
- Sliders
Don’t use a slider to adjust audio volume.
不推薦用slider調(diào)節(jié)音量
- Steppers
A stepper is a two-segment control used to increase or decrease an incremental value. By default, one segment of a stepper displays a plus symbol and the other displays a minus symbol. These symbols can be replaced with custom images, if desired.
Don’t use a stepper when large value changes are likely.
stepper適用于只需要幾次tap的小規(guī)模數(shù)值變化
- Switches
A switch is a visual toggle between two mutually exclusive states—on and off.
Use switches in table rows only. Switches are intended for use in tables, such as in a list of settings that can be toggled on and off. If you need similar functionality in a toolbar or navigation bar, use a button instead, and provide two distinct icons that communicate the states.
切換器的推薦使用場(chǎng)景是在table row里富拗,在其他位置,button 是更優(yōu)選項(xiàng)
- Text Fields
Show a hint in a text field to help communicate purpose. A text field can contain placeholder text—such as "Email" or "Password"—when there’s no other text in the field. Don’t use a separate label to describe a text field when placeholder text is sufficient.
可以在placeholder text里做出的提示信息鸣戴,就不要在其他位置占用額外的label
Use secure text fields when appropriate.
ps:like passwords
Show the appropriate keyboard type.
Extensions
- Custom Keyboards
Make sure you really need a custom keyboard.
Provide an obvious and easy way to switch between keyboards.
**Make functionality obvious.
- Document Providers
- Home Screen Quick Actions
- Messaging
- Photo Editing
- Sharing and Actions
- Widgets
When appropriate, let people jump to your app to do more.
Let people know when authentication adds value.If your widget provides additional functionality when someone is logged into your app, make sure people know about this.
Technologies
- Apple Pay
It’s important to understand the difference between Apple Pay and In-App Purchase. Use Apple Pay to sell physical goods such as groceries, clothing, and appliances; for services such as club memberships, hotel reservations, and tickets for events; and for donations. Use In-App Purchase to sell virtual goods, such as premium content for your app, and subscriptions for digital content.
Buttons
- Gamekit
- Healthkit
- Homekit
- iCloud
- In-App Purchase
- Live Photos
- Social Media
- Wallet
Resources
- Templates
- Typefaces
- Xcode Projects