<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 1.13 與iOS的整合(Integrating with iOS) 與iOS整合,指的是在當前平臺上給用戶提供一種舒適的、賓至如歸般的體驗,當然這并不意味著我們要把每一個應用做的和內置應用一模一樣。 最好的與iOS整合的方式便是深刻地了解iOS的主題與核心——這一部分在上文為iOS而設計(Designing for iOS)部分中已有詳細描述,并尋求出如何在你的應用中融合與表達這種主題。當你這么做的時候,遵循本章中的指引可以幫助你為你的用戶提供他們想要的體驗。 [TOC=3,3] ### 1.13.1 正確使用標準UI元素(Use Standard UI Elements Correctly) 盡可能使用UIkit提供的標準UI元素是一個好主意。多使用標準元素而非自定義元素,你與你的用戶都將受益: * 標準UI元素會根據iOS官方的更新而自動更新——而自定義元素不會。 * 標準UI元素對于你自定義外觀和行為來說擁有優秀的擴展性。舉個例子,iOS中所有的視圖(Views,從[UIView](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/cl/UIView)中繼承的對象)都是可以使用[TintColor](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/instp/UIView/tintColor)屬性來定義顏色的,它讓應用配色變得很簡單。 * 用戶更熟悉和習慣標準的元素,因為他們可以立刻明白你的應用中這些元素的用途。 想要充分地利用標準UI元素的優點,有一些關鍵點需要特別注意: **嚴格遵循每個****UI****元素的設計規范。**當你應用中的UI元素的外觀與功能都是用戶所熟悉的,他們可以很容易地根據先前的經驗來使用他們,進而更好地使用你的應用。你可以從這些章節中找到各種UI元素的設計規范:[Bars](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Bars.html#//apple_ref/doc/uid/TP40006556-CH12-SW1),?[Content Views](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/ContentViews.html#//apple_ref/doc/uid/TP40006556-CH13-SW1),?[Controls](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Controls.html#//apple_ref/doc/uid/TP40006556-CH15-SW1),?[Temporary Views](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Alerts.html#//apple_ref/doc/uid/TP40006556-CH14-SW1). (譯者注:上文提到的章節均處在iOS Human Interface Guidelines的第4章,翻譯將在后續更新中放出,煩請各位耐心等候。若有需要,亦可先參考先前已翻譯的iOS7 UI Elements章節:[上](http://isux.tencent.com/ios-human-interface-guidelines-ui-design-ios7-ui-1.html),[下](http://isux.tencent.com/ios-human-interface-guidelines-ui-design-ios7-ui-2.html)。) **不要混用不同版本的****iOS****里的****UI****元素。**你一定不希望讓用戶覺得你的UI元素來自于與當前用戶的設備版本不同的iOS系統。 **大體來說,請避免創造自定義****UI****元素來表現標準交互行為。**先問問你自己為什么一定要創建一個與標準UI元素行為完全相同的自定義元素。如果你只是想改變標準UI元素的外觀,可以考慮使用UIKit外觀定制API(UIKit appearance customization APIs),或者給元素填充別的顏色。如果你需要定義一個與標準控件稍有不同的行為,請確保你在改變了這個UI元素的屬性和行為之后,這個元素仍然能完成你所希望的操作。如果你需要完全自定義一個行為,最好是設計一個與標準元素完全不相像的自定義元素。 提示:Interface Builder讓獲取標準UI元素,使用外觀定制API(the appearance customization APIs),獲取屬性,以及在你的應用里使用自定義和系統自帶圖標變得很簡單。想要了解更多Interface Builder的內容,請參閱*[Xcode Overview](https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/index.html#//apple_ref/doc/uid/TP40010215)*. **不要用系統自帶的按鈕和圖標表達其他含義。**iOS提供了多種可用的按鈕和圖標。請確認你了解它們的準確表意;不要單純憑借你看到這些圖標樣式的猜測和理解來解讀和使用它們。(你可以在[Toolbar and Navigation Bar Buttons](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Bars.html#//apple_ref/doc/uid/TP40006556-CH12-SW33)和[Tab Bar Icons](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Bars.html#//apple_ref/doc/uid/TP40006556-CH12-SW34)中了解到這些按鈕和圖標的準確含義。) 如果你所需要的功能無法用系統提供的按鈕和圖標來表現,你也可以設計自定義按鈕。自定義按鈕的設計可以參考?[Bar Button Icons](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/BarIcons.html#//apple_ref/doc/uid/TP40006556-CH21-SW1). > (譯者注:上文提到的章節均處在iOS Human Interface Guidelines的第4章,翻譯將在后續更新中放出,煩請各位耐心等候。若有需要,亦可先參考先前已翻譯的iOS7 UI Elements章節:[上](http://isux.tencent.com/ios-human-interface-guidelines-ui-design-ios7-ui-1.html),[下](http://isux.tencent.com/ios-human-interface-guidelines-ui-design-ios7-ui-2.html)。) **如果你的*app*是沉浸式體驗,那么創造全新的自定義*UI*是合理的。**因為你在創造一個統一的體驗環境,讓用戶在其中能夠有所期待并探索如何控制應用。 ### 1.13.2 弱化文件和文檔處理(Downplay File and Document Handing) iOS應用可以幫助用戶創建和處理文件,但這并不意味著用戶需要過分考慮iOS設備的文件系統如何運作。 如果你的應用中支持用戶創建和編輯文檔,那么提供一個清晰的圖形庫視圖(document library view)讓用戶能夠方便地打開或者新建文檔是一個好的做法。理想狀況下,這樣的圖形庫視圖擁有以下特征: * **高度圖形化。**用戶通過屏幕上的縮略圖就可以一目了然,快速找出自己想要的文件。 * **讓用戶用最少的動作完成自己的任務。**比如說,用戶可以快速地水平滾動文件列表,然后輕點一下自己想要的文件來打開它。 * **包含新建文檔功能。**一個圖形庫視圖應該支持讓用戶點擊一個新建文檔的占位圖便完成新建文檔操作,而不是讓用戶通過訪問別的地方來新建文檔。 舉個例子,Pages的圖形庫視圖里面,既展示了用戶已存在的文檔,也加入了便捷的新建文檔操作。 [![](https://box.kancloud.cn/2015-11-09_564017f183334.png)](http://isux.tencent.com/wp-content/uploads/2015/10/20151019162126242.png) 提示:你可以使用Quick Look Preview功能來讓用戶預覽你的應用中的文件,哪怕你的應用不能打開這些文件。想要了解如何在你的應用中提供這個功能,請參閱[Quick Look](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/QuickLook.html#//apple_ref/doc/uid/TP40006556-CH43-SW1). 如果你的應用允許用戶使用在其他應用中創建的文檔,你可以通過模態文檔選擇視圖控制器(modal document picker view controller)來幫助用戶觸達它們。這個控制器可以提取用戶在iCloud中的文檔,還可以通過文檔提供者擴展(Document Provider extensions)來提取在其它應用中創建和儲存的文件。想要了解更多文檔提供者擴展的內容,可以參考[Document Provider Extensions](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/AppExtensions.html#//apple_ref/doc/uid/TP40006556-CH67-SW5); 想要了解更多文檔提取視圖控制器,請參考[*Document Picker Programming Guide*](https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentPickerProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP4001445). **給用戶足夠的信心,讓他們相信除非主動取消或者刪除,他們的成果會被隨時妥善保存****。**如果你的應用幫助用戶創建于管理文檔,不能要求用戶每次都能及時保存。無論是打開另一個文檔或切換應用的時候,iOS應用都應當承擔起幫助用戶保存輸入內容的責任。 如果你的應用的主要功能不是創造內容,但又允許用戶查看或編輯信息,這種情況下你需要詢問用戶是否要保存修改。在這種場景下,比較好的做法是提供“編輯”按鈕,點擊后進入編輯狀態,同時編輯按鈕變成“保存”和“取消”按鈕,這種變化可以提示用戶當前處于編輯模式。“保存”可以保留修改內容,“取消”則退出編輯模式。 ### 1.13.3 必要時提供可配置選項(Be Configurable If Necessary) 某些應用需要用戶手動安裝或設置選項,但是大部分應用不需要如此。一個好的應用可以讓大部分用戶快速上手,并通過主界面給用戶提供便捷的調整體驗的方式。 當你的應用在默認狀態下就能滿足大部分用戶的期望,用戶對設置的需求就減少了。如果你需要儲存用戶的基本資料,可以優先向系統請求和拉取相關信息,而不是上來就讓用戶自己填寫它。如果你一定要提供用戶鮮少用到的設置項,請參考[*App Programming Guide for iOS*](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007072)中的[The Setting Bundle](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW7)部分來了解如何在代碼中定義它們。 **盡可能在主UI中提供設置選項。**如果這個設置項代表著用戶一個基本任務,又或者用戶在進行主線任務時有可能頻繁改變設置,那么將設置項放在主UI中會很方便。如果用戶只是偶爾才會用到設置項,那么可以將其放在獨立的視圖中。 **如果應用內相關設置需要在系統設置中改變,幫助用戶直接訪問系統設置。**尤其是,如果你要用一段文字來描述如何改變這個設置,比如“設置>隱私>定位服務”,倒不如直接放置一個按鈕,點擊后即可到達設置中的定位服務。想要了解如何實現,請參考?[Settings Launch URL](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/doc/constant_group/Settings_Launch_URL). ### 1.13.4 充分利用iOS技術(Take Advantage of iOS Technologies) iOS提供了豐富的技術方式來支持用戶完成他們所期望的各種任務和場景。這意味著在絕大多數情況下,將系統提供的技術整合到你的應用中,往往比自定義一種新的技術更為可靠。 某些iOS技術,比如多任務并行([Multitasking](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Multitasking.html#//apple_ref/doc/uid/TP40006556-CH38-SW1))與語音向導([VoiceOver](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/VoiceOverAccessibility.html#//apple_ref/doc/uid/TP40006556-CH45-SW1))等等,是所有應用都應該包含的系統級特性。而另外一些技術是否整合到應用中,則取決于應用本身的功能性。比如處理門票和禮品卡的應用([Wallet](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Passbook.html#//apple_ref/doc/uid/TP40006556-CH33-SW1))支持用戶在應用內內購([In-App Purchase](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/InAppPurchase.html#//apple_ref/doc/uid/TP40006556-CH36-SW1)),展示應用內置廣告([iAd Rich Media Ads](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/iAdRichMediaAds.html#//apple_ref/doc/uid/TP40006556-CH41-SW1))則可以整合?[Game Center](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/GameCenter.html#//apple_ref/doc/uid/TP40006556-CH37-SW1),同時支持[iCloud](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/iCloud.html#//apple_ref/doc/uid/TP40006556-CH35-SW1).
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看