iPhone人機介面常見任務處理方法是本文要介紹的內容,如果您具有使用案頭電腦或攜帶型電腦應用程式的經驗,那麼您會發現iPhone應用程式處理很多常見任務的方式與它們不同。
本節從人機介面的角度描述了這些常見任務;關於代碼實現的技術細節,請參考iPhone應用程式編程指南。繼續上一節 iPhone人機介面常見任務處理方法 1)的內容開始介紹。
啟用推播通知
當您的應用程式註冊了“蘋果推播通知服務”時,您可以在有新資料到來時向使用者發出警告,即使您的應用程式沒有運行。當裝置收到的訊息是發給一個沒有啟動並執行應用程式時,它可以通過以下方式通知使用者:
在應用程式的主畫面表徵圖上更新一個 標記
播放警告聲音
顯示一條警告訊息
或者您可以組合使用以上方式。使用者的反應可能是啟動應用程式來處理新資料,或者僅僅是注意到有新資料到來就可以了。要瞭解如何在代碼中處理推播通知,請閱讀蘋果推播通知服務編程指南。)
注意:推播通知的投遞是無保證的。此外,使用者也可以拒絕接收系統範圍內的通知。推播通知的目的是提醒使用者有新資料到達,而不是向您的應用程式傳遞關鍵的資料。
內建的設定程式中的“通知”部分為每一個註冊了“蘋果推播通知服務”的應用程式提供推播通知的設定。針對每一個應用程式,iPhone OS都可以讓向使用者佈建是否允許標記,聲音和警告訊息。
您應該花一些時間來思考哪種類型的事件更能讓通知引起使用者的注意。通知應該向使用者提供有用的,可操作的資訊,這些資訊是使用者即使在沒有使用您的應用程式時也想要得到的。
當您確定了使用者可能關心的事件之後,您還應該讓使用者決定每種事件應該產生什麼類型的通知如果有通知的話)。如果使用者無法定製您的應用程式的推播通知,那麼使用者可能會被他們不感興趣的通知所打擾 。
使用者可以選擇他們想要接收的通知的類型,因此以下三種類型您應該全部支援:
標記。 標記是一種對使用者打擾最小的方式,它告訴使用者有新的他們可能感興趣的內容出現。標記是一個紅色的小橢圓形,出現在主畫面表徵圖的右上方。您對於標記的外觀沒有任何控制權,它僅包含數字,不包含字母和標點符號。
標記適用於告訴使用者有多少項有待他們查閱。例如,標記中的數字表示的可能是未讀的訊息數,新分配的任務數,或當前有多少個遠程玩家進行中遊戲。
聲音。 您可以提供自訂的警告聲音,也可以使用內建的警告聲音。如果您建立了自訂的聲音,一定要保證它簡短,獨特並且製作專業。要瞭解有關自訂聲音的技術要求,請參考蘋果推播通知服務編程指南中的“準備自訂警告聲音”一節。)請注意,當有通知被投遞時,您不能強制使裝置震動;使用者能夠控制收到警告時是否伴有震動。
如果通知到達本身就為使用者提供了足以採取行動的資訊,在這種情勢下,採用一種容易辨識的聲音是非常適合的。例如,一個協同任務管理系統在成員的任務完成時可能會伴隨著一段獨特的聲音。僅僅是聽到這種聲音,使用者就知道任務已經完成了。
警告。 警告是一種通知使用者有新內容時最打擾使用者的一種方式。在警告的頂端顯示您的應用程式的名稱,在它下面是您發送的訊息,在警告底部有一至兩個按鈕。如果您指定了兩個按鈕,則警告會在左側顯示“關閉”按鈕,右側顯示“查看”按鈕使用者點擊“查看”按鈕可以在解除警告的同時啟動您的應用程式)。如果您只指定了一個按鈕,則警告只顯示一個“確定”按鈕。“關閉”按鈕和“確定”按鈕都會關閉警告而不會開啟您的應用程式。
警告會打斷使用者的工作流程,因此最好謹慎地使用它,並且只用它來投遞有關某事件的簡短的,重要的訊息。特別地,一定要避免在您的警告訊息中包含任何廣告內容。
保證應用程式的可用性
一個便於使用的應用程式應該允許有障礙的使用者在輔助程式或裝置的協助下可以成功使用。iPhone OS裝置包含許多功能,使所有使用者都可以更加方便地使用該裝置,比如可視化語音信箱,縮放以及語音控制功能。您無需在應用程式中採取任何動作,使用者可以直接獲益於這些功能。
有了VoiceOver,事情就變得不一樣了。VoiceOver是蘋果公司一項創新性的螢幕閱讀技術,它讓使用者無需看到螢幕,就可以控制他們的裝置。為了確保VoiceOver使用者可以充分地使用您的應用程式,您可能需要提供一些關於使用者介面中視圖和控制項的自訂資訊。
幸運的是,在預設情況下,UIKit控制項和視圖是易於訪問的,因此,當您以完全標準的方式使用這些標準元素時,您只有很少的額外工作要做如果有的話)。使用者介面的自訂程度越高,您需要提供的自訂資訊就越多,以便VoiceOver可以正確地向具有視覺障礙的使用者描述您的應用程式。
重要:為了使您的應用程式易於訪問,您要做的工作包括為VoiceOver提供它所需的資訊來協助使用者使用您的應用程式。您不需要為了適應VoiceOver而改變使用者介面的視覺設計。
讓您的iPhone應用程式易於被VoiceOver使用者訪問是非常正確的做法。這種做法還可以增加您的使用者群,並有可能協助您滿足由各主管機構建立的可用性準則。
提供搜尋功能並顯示搜尋結果
UIKit提供了搜尋欄控制項,您可以使用它顯示一致的啟動搜尋的介面,但要您需要在您的應用程式中實現搜尋功能。要瞭解有關搜尋欄的更多資訊,請參考“搜尋欄”;要瞭解有關在代碼中處理搜尋結果的更多資訊,請參考UISearchDisplayController類參考。)為了確保搜尋擁有實用而方便的使用者體驗,請花一些時間考慮如何?搜尋過程以及如何顯示其結果。
一般來說,您應該:
為您的資料建立索引,以便隨時進行搜尋。
即時過濾本地的資料,一旦使用者開始輸入,您就顯示結果,並且隨著使用者繼續輸入而逐步縮小結果範圍。
如果可能的話,在使用者輸入時也同時過濾遠端資料,但是,如果這部分的回應時間有可能將搜尋結果的計算延遲1-2秒鐘以上,一定要經過使用者的允許。
在列表上面顯示搜尋欄或者在列表內顯示索引。
避免為搜尋開啟一個標籤頁,除非它是您應用程式中的主要功能,應該被標識為一個不同的模式。
雖然即時過濾資料通常能夠產生出色的使用者體驗,但這並不總是可行的。如果無法即時過濾資料,您可以在使用者在鍵盤上點擊“搜尋”按鈕之後再開始搜尋過程。如果您要這樣做,一定要提供有關搜尋進度的反饋資訊,以便讓使用者知道搜尋進程沒有停止。一種方法就是儘快顯示文本結果,並為那些可能需要更長時間檢索的資料顯示預留位置內容。
例如,在YouTube中,使用者點擊“搜尋”按鈕發起視頻的搜尋。如果網路連接速度很慢,YouTube會先顯示“載入中……”訊息和旋轉的活動指示符,讓使用者知道搜尋進行中。然後,YouTube會顯示一個結果清單,其中,每一行填寫搜尋的文本結果比如視頻的標題和收視率),以及帶有虛線輪廓的立方體自訂映像。隨著使用者瀏覽視頻標題的列表,下載完的影片縮圖會逐步替換掉原來的虛線立方體。像這樣,在更多的資料仍在下載時向使用者顯示部分搜尋結果,能夠及時地為使用者提供有用的資訊。
如果您處理的資料可以歸類於多個不同的類別,您可以提供一個範圍欄。範圍欄包含至多4個範圍按鈕,每個按鈕代表一種分類。例如,“郵件”程式提供了一個範圍欄,允許使用者將他們的搜尋集中在郵件的寄件者,收件者或主題欄位,或者將搜尋範圍擴大至包含所有的欄位。如果範圍欄能夠協助使用者集中他們的搜尋,或者能夠大大減小搜尋結果的數量,請您考慮使用範圍欄控制項。要瞭解如何在您的代碼中實現範圍欄,請參考UISearchBar類參考。)
使用使用者的位置資訊
使用者喜歡能夠自動使用他們的物理位置對內容進行標記的功能,或者尋找當前在附近的朋友。使用者同時也希望當他們不想與他人分享自己的位置時能夠禁用這些功能。使用者可以通過“設定” > “一般”中的“位置服務”設定來選擇同意或拒絕)系統範圍內對他們的物理位置的訪問。
如果使用者關閉了位置服務,而隨後使用的應用程式功能需要獲知他們的位置,則使用者會看到一個警告,此警告告訴他們必須改變他們的喜好設定設定才能使用此功能。該警告不允許使用者在應用程式的內部做此更改;相反,他們必須進入設定應用程式改變他們的喜好設定設定。這樣可以確保使用者充分意識到他們正在授予整個系統使用他們位置資訊的許可權。
為了讓使用者知道他們為什麼要開啟位置服務,您最好只在使用者試圖使用一項顯然需要獲知他們當前位置的功能時,才顯示警告。例如,當位置服務關閉時,使用者仍然可以使用地圖應用程式,但是,當他們訪問發現並跟蹤其當前位置的功能時,會看到警告。
如果位置服務處於關閉狀態,iPhone OS會在您的應用程式第一次試圖訪問位置資訊時顯示警告。Core Location架構為您提供了一種擷取使用者喜好設定的方法,使您避免不必要或不適當地觸發警告。要瞭解關於這個編程介面的更多資訊,請參考Core Location架構參考。)
知道了使用者的喜好設定資訊,您就可以儘可能準確地為需要位置資訊的功能觸發警告,或是完全地消除警告。
如果您的應用程式在沒有這些資訊的情況下無法執行它的主要功能,您最好在使用者啟動應用程式時儘快讓他們看到警告。使用者不會為此感到困擾,因為他們明白應用程式的主要功能依賴於知曉他們的位置。
如果使用者的位置不是您應用程式基底本功能的一部分,您可以選擇簡單地限制那些用到位置資訊的功能。例如,當位置服務關閉時,相機應用程式會自動關閉將使用者的位置添加到他們所拍攝的照片的功能。但應用程式並不會阻止使用者拍照,除非他們改變喜好設定的選項,這是因為“將位置資訊添加到照片”只是一個附加功能,而不是準系統。
如果某項功能需要位置資訊才能工作,一定要避免在使用者實際選擇該功能之前執行任何編程調用觸發警告。擷取使用者喜好設定資訊的調用不會觸發警告。)這樣,您就可以避免讓使用者感到奇怪,為什麼您的應用程式在使用者做一些看似不需要位置資訊的事情時,想要得到他們的位置資訊。
處理方向的變化
使用者可以隨時旋轉iPhone OS裝置,並且他們期望正在瀏覽的內容做出適當的調整。在您的iPhone應用程式中,請務必:
注意加速度表的值關於加速度表和加速度表編程介面參考的更多資訊,請閱讀iPhone應用程式編程指南)。如果合適的話,您的應用程式應該對所有的裝置方向變化做出響應。
如果您的應用程式使用者介面的某一部分只在一個方向上顯示內容,則該地區只適於在此方向上出現,而且不需要對裝置方向的變化做出響應。例如,當使用者選擇一個iPod視頻來觀看時,無論當前裝置方向如何,該視頻都橫向顯示。這向使用者表明,要旋轉裝置以便更好地觀看該視頻。該例中最重要的一點是,iPod沒有提供“旋轉”按鈕;相反,使用者知道要旋轉裝置,因為視頻是橫向顯示的。
讓使用者旋轉裝置來正確地瀏覽應用程式使用者介面中需要特定方向的部分。避免建立新的控制項或定義新的操作,告訴使用者旋轉裝置。
利用一步操作就能改變方向的過程,完成更順暢且往往更快的旋轉。但是,如果您的螢幕布局非常複雜,當發生方向變化時,您可以選擇執行一種淡入淡出的轉換。要瞭解如何在您的代碼中支援一步操作過程,請參考UIViewController類參考。
使用者經常因為想要“看到更多”而將他們的裝置旋轉為橫向。如果您只是按比例放大螢幕的內容,則無法滿足使用者的期望。相反,您應該重新打包文本行,而且如果必要的話,重新安排使用者介面的布局,以便更多的內容填充到螢幕當中。
小結:iPhone人機介面常見任務處理方法 2)的內容介紹完了,希望本文對你有所協助!深入瞭解這iphone應用程式,請參考下面幾篇文章。
iPhone人機介面常見任務處理方法 1)
iPhone人機介面常見任務處理方法 3)
iPhone人機介面常見任務處理方法 4)