使用者登入

全站搜尋

最新回應

論壇最新主題

論壇最新回覆

會員排行榜

線上使用者

目前共有 0 位註冊使用者4 位訪客 在線上。

事件處理 - Event Handling

babyfish0226
babyfish0226 的照片

原文連結:Events and Touches

翻譯作者:adammisko

文章校稿:babyfish0226

事件處理 Event Handling

事件在的iPhone作業系統中是基於一種多點觸 控的模式。使用者藉由觸摸裝置上螢幕的方式來取代使用滑鼠和鍵盤,並以此方法來操控物件、輸入資料,或以其他方式表達他們的目的。 iPhone作業系統將辦認出多點觸控序列(Multi-Touch sequence)中的部份動作,而這動作是由一個或多個手指觸摸螢幕所產生的。而這個序列動作是開始於第一根手指觸摸到螢幕時候,並在最後一根手指離開 螢幕時結束。iPhone作業系統藉由一個多點觸控序列來追踪手指觸摸螢的動作並記錄每一個動作的特性,包括手指在螢幕上的位置與在某些情況下手指移動的 方向。應用程式常常需要辨識某些觸模手勢的組合並用最直覺的方式回應給使用者,如以一種捏的動作來縮放內容及以輕輕以手指滑動的手勢來滾動內容等。

UIKit 中的許多纇別能針對物件的特性以不同的方式來處理多點觸控的事件,而在UIControl的subclasses子類別中如UIbutton和 UIslider兩個則特別明顯 。物件的這些子類別(特別是控制物件)都能接受了某些類型的手勢動作,如輕打或往某個方向進行拖曳;若設定正確話,當某個手勢產生時將送出一個動作訊息給 予目標物件。而其他Uikit 的纇別也將以別的方式來處理手勢動作;舉例來說, UIscrollview 能為Table views、text views和web views等提供提供一個滾動的行為與功能。

有些應用程式可能不需要處理直接事件,相反他們可以靠UIkit的纇別 來協助處理這些動作。不過,如果您建立一個自訂的UIview子纇別(在iPhone作業系統開發中一個常見的模型) 並且你想要以這種View來對觸摸事件進行回應,則你必需要寫些程式以處理這些事件。此外,如果您想要一個 UIkit 物件能對事件作出不同的反應,你必須為這個framework創造一個子纇別,並繼承(override)適當的事件處理方法。