標籤:
今天學習了ios編程裏手勢的方法及應用情境,螢幕頁面中區分很多控制項,有的控制項可以有點擊事件和使用者直接互動,可以執行相應方法,如TextField,Button,UISEgmentControll等,但是靜態lableUIImageView等就需要把互動開關開啟,添加響應的手勢才能實現互動。
劉國斌老師詳細的對我們講了七大手勢,包括點擊Touches,UIPanGestureRecognizer拖動,UILongPressGestureRecognizer長按手勢,UIScreenEdgePanGestureRecognizer 側滑等。
事件是當使用者手指觸擊螢幕及在螢幕上移動時,系統不斷髮送給應用程式的對象。系統將事件按照特定的路徑傳遞給可以對其進行處理的對象。在iOS中,一個UITouch對象表示一個觸摸,一個UIEvent對象表示一個事件。事件對象中包含與當前多點觸摸序列相對應的所有觸摸對象,還可以提供與特定視圖或視窗相關聯的觸摸對象。
響應者對象是可以響應事件並對其進行處理的對象。
UIResponder是所有響應者對象的基類,它不僅為事件處理,而且也為常見的響應者行為定義編程介面。
// 手勢開始移動的時候,讓圖片的中心點跟著觸摸點移動
case UIGestureRecognizerStateChanged:
self.ii.center=[sender locationInView:self.view];
break;
// 當手勢移動結束的時候,判斷是否在制定地區內,如果在則把圖片添加到地區內,注意要轉換圖片從view到vie的座標
case UIGestureRecognizerStateEnded:
if (CGRectContainsPoint(self.vie.frame, self.ii.center)) {
CGPoint old=self.ii.center;
CGPoint new=[self.view convertPoint:old toView:self.vie];
[self.vie addSubview:self.ii];
self.ii.center=new;
// 給移動後的圖片添加---點選手勢
UITapGestureRecognizer *tgr=[[UITapGestureRecognizer
藍懿IOS學習七大手勢Touches