iPhone人機介面常見任務處理方法是本文要介紹的內容,如果您具有使用案頭電腦或攜帶型電腦應用程式的經驗,那麼您會發現iPhone應用程式處理很多常見任務的方式與它們不同。本節從人機介面的角度描述了這些常見任務;關於代碼實現的技術細節,請參考iPhone應用程式編程指南。
啟動
iPhone應用程式應能夠迅速啟動,從而使用者可以立即開始使用它們。啟動時,iPhone應用程式應該:
指定適當的狀態列樣式關於可用樣式的資訊請參考“狀態列”一節)。
顯示一幅酷似應用程式啟動顯示畫面的啟動映像。這減少了使用者感知到的應用程式的啟動時間。要瞭解更多有關的資訊,請參考“啟動映像”。
避免顯示“關於”視窗,啟動畫面,也不要提供任何其他類型的妨礙使用者立即使用應用程式的體驗。
預設情況下,在螢幕上縱向啟動應用程式。如果您打算讓應用程式只能在螢幕橫向時使用,則無論裝置當前的方向如何,都在螢幕上橫向啟動應用程式。如果必要的話,要允許使用者將裝置旋轉為橫向。
僅橫向顯示的應用程式應該支援兩種“橫向”—不論“首頁”按鈕在螢幕右側還是左側,都能夠正常顯示應用程式。如果裝置本身已經被橫向放置,則這種僅橫向顯示的應用程式就按照裝置的方向啟動。否則,在預設情況下,僅橫向顯示的應用程式在啟動時,“首頁”按鈕只能在應用程式的右方。
將您的應用程式恢複到最後一次運行時的狀態。
重要:不要在您的應用程式安裝完成後提示使用者重新引導或重新啟動他們的裝置。如果您的應用程式存在記憶體使用量或其他方面的問題,導致除非系統是剛剛啟動過的,否則您的應用程式難以運行,那麼您需要解決這些問題。例如,您可以閱讀iPhone應用程式編程指南中的“高效地使用記憶體”一節,瞭解如何開發運轉良好的應用程式。
停止
當使用者開啟另一個應用程式或使用裝置自身功能比如電話)時,iPhone應用程式必需終止。要特別注意的是,應用程式的終止不需要使用者點擊應用程式關閉按鈕或在菜單上選擇“退出”操作。iPhone應用程式應該:
隨時準備接收退出或終止通知。因此,要儘可能快並且在合理情況下經常儲存使用者資料。
當應用程式終止時,儘可能詳細地儲存它的目前狀態。例如,如果您的應用程式能夠顯示滾動的資料,則應該儲存當前的滾動位置。
iPhone應用程式不應該直接通過代碼退出,因為這樣做會使使用者覺得應用程式崩潰了。但是,可能有些時候,外部環境會阻止您的應用程式正常運行。處理這種情況的最好方法是讓螢幕顯示醒目的內容,在螢幕上描述該問題並向使用者提出解決問題的建議。這樣做會在以下兩方面對使用者有所協助:
它提供了反饋資訊,告訴使用者您的應用程式沒有出現錯誤,使使用者放心。
它能夠控制使用者行為,讓他們決定是採取一些糾正的行動來繼續使用您的應用程式,還是按下“首頁”按鈕來開啟另一個應用程式。
如果在一些特定的環境中,您的應用程式只是部分功能無法正常工作,那麼在使用者想要啟用該功能時,您可以在螢幕上顯示資訊或警告。雖然警告在設計上不具備太大的靈活性,但如果您可以保證以下幾點,它也可以成為一種很好的選擇:
非常簡潔地描述當前情況
提供一個執行糾正動作的按鈕
僅當使用者試圖訪問無法正常工作的功能時顯示警告
和所有的警告一樣,使用者越少看到它們,就說明它們越有效。關於建立警告的更多資訊請參考“使用警告”。
管理設定或配置選項
iPhone應用程式可以向使用者提供設定功能,使使用者可以根據自己的喜好來設定應用程式行為或配置選項,從而改變應用程式的一些功能。可設定的應該是一些使用者佈建一次後很少如果有的話)改變的資訊,比如帳戶名稱。使用者可以在內建的“設定”程式中查看特定應用程式的設定。配置選項是一些使用者可能想要經常改變的值,比如在列表中顯示的分類的類型;配置選項應該由應用程式本身提供。
您應該把設定和配置選項看作是互斥的。也就是說,您不應該在您的應用程式中同時提供設定和配置選項。
iPhone應用程式最好不要求使用者指定任何設定。這樣使用者無需提供設定資訊就可以立即使用這些應用程式。為了在您的應用程式中實現這一點,您可以採用以下這些設計決策:
使您的解決方案滿足80%使用者的需求。當您採用這樣的設計時,大多數使用者不需要提供設定資訊,因為您的應用程式已經按照大部分使用者所預期的行為進行了設定。可以不考慮那些只有少數使用者需要的功能和大部分使用者僅需使用一次的功能。
從其他途徑擷取儘可能多的資訊。如果您可以用到任何使用者在內建應用程式程式或裝置設定中提供的資訊,那麼您可以向作業系統查詢這些資訊的值;不要讓使用者再次輸入它們。
如果您必須向使用者請求設定資訊,請在應用程式內部提示使用者輸入資訊。然後立即將這一資訊儲存在您的應用程式的設定中。這樣,使用者在開始使用您的應用程式之前,就不會被迫退出應用程式而先開啟“設定”介面。如果使用者稍後需要更改這些資訊,他們可以隨時在您的應用程式的設定中變更。
如果使用者想要開啟“設定”程式,就必須首先退出您的應用程式,而您應該不鼓勵使用者採取這樣的行為。系統並沒有提供支援這一行為的表徵圖或控制項,而且建議您也不要為此建立自訂的表徵圖或控制項。如果您決定一定要在您的iPhone應用程式中提供設定,請參考iPhone應用程式編程指南中的“設定程式包”一節,瞭解如何在您的代碼中實現對這些功能的支援。
注意:應用程式特定的設定不應該包括使用者協助的內容。
與設定不同,由於使用者會選擇從新資源或以不同布局來查看資訊,因此配置選項很可能經常發生改變。對於這些選項所做的更改,您可以動態地作出響應,因為使用者不需要離開您的應用程式來訪問它們。
您可以在主使用者介面或螢幕的背面提供配置選項。具體使用哪一種技術更合理取決於該選項代表的是不是主要功能以及使用者對其變更的頻率。
例如,“日曆”程式允許使用者以日,星期和月為單位查看他們的時間表。這些選項本來可以在螢幕的背面提供給使用者,但是查看日曆的不同部分是程式的主要功能,並且使用者可能會頻繁改變所關注的焦點。
再舉一個例子,“天氣”程式的主要功能是顯示一個城市的當前天氣狀況和6天之內的天氣預報。雖然讓使用者能夠選擇是以攝氏還是華氏為單位顯示溫度也很重要,但是使用者不太可能經常改變這個選項,因此,將它放在主使用者介面中並不合理。在“天氣”螢幕的背面提供溫標選項,就顯得既方便又不突兀。
支援複製和粘貼
iPhone OS提供了編輯或粘貼板)菜單,它支援在文本視圖,Web視圖和映像視圖中的“剪下”,“複製”,“粘貼”,“選擇”和“全選”操作。一種向使用者顯示該菜單的方法是,首先使用者觸摸並按住裝置螢幕直到出現放大的視圖該視圖允許使用者將插入點或選擇點移動到正確的位置),然後放開。如果當前的上下文支援這種菜單,則當使用者抬起手指時它就會出現。菜單中的“選擇”操作可以選擇視圖中的單詞或應用程式定義的項。使用者可以通過拖動當前所選地區的把手來擴大他們選擇的內容。在內容被選中之後,菜單就會根據情況顯示“剪下”,“複製”或“粘貼”。
您可以調整編輯菜單的某些行為以適應您的應用程式。要瞭解