ios開發之手勢——uigesturerecognizer 共存
2、手勢識別器
·uigesturerecognizer
uigesturerecognizer類,用於檢測、識別使用者使用裝置時所用的手勢。它是乙個抽象類,定義了所有手勢的基本行為。以下是uigesturerecognizer子類,用 於處理具體的使用者手勢行為;
在 iphone 或 ipad 的開發中,除了用 touchesbegan / touchesmoved / touchesended 這組方法來控制使用者的手指觸控外,也可以用 uigesturerecognizer 的衍生類別來進行判斷。用 uigesturerecognizer 的好處在於有現成的手勢,開發者不用自己計算手指移動軌跡。uigesturerecognizer的衍生類別有以下幾種:
·uitapgesturerecognizer(輕擊)
·uipinchgesturerecognizer(捏合)
·uipangesturerecognizer(平移----慢速移動)
·uiswipegesturerecognizer(輕掃---快速移動)
·uirotationgesturerecognizer(旋轉)
·uilongpressgesturerecognizer(長按)
從命名上不難了解這些類別所對應代表的手勢,分別是 tap(點一下)、pinch(二指往內或往外撥動)、rotation(旋轉)、swipe(滑動,快速移動)、pan (拖移,慢速移動)以及 longpress(長按)。這些手勢別在使用上也很簡單,只要在使用前定義並新增到對應的檢視上即可。
通過用 touchesbegan / touchesmoved / touchesended 實現手勢,要監聽檢視view的手勢,必須為這個view建立乙個子類,然後才可以監聽手勢;
手勢有很多種狀態,定義在uigesturerecognizer中的uigesturerecognizerstate;
//
// rootviewcontroller.m
// my_touchgesturedemo
//// created by fenghuo on 14-7-19.
//#import "rootviewcontroller.h"
@inte***ce rootviewcontroller ()
@end
@implementation rootviewcontroller
- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil
return self;
}- (void)viewdidload
- (void)didreceivememorywarning
//----------手勢繫結的觸發方法-------------------
- (void)tap:(uitapgesturerecognizer *)tapgesture
- (void)doubletap:(uitapgesturerecognizer *)tapgetrue
- (void)swipeaction:(uiswipegesturerecognizer *)swipegesture
- (void)panaction:(uipangesturerecognizer *)panaction
- (void)longpressaction:(uilongpressgesturerecognizer *)longpress
// 會列印兩次;超過兩秒手指按下會列印一次,手指放開也會列印一次;
// 手勢有很多種狀態,定義在uigesturerecognizer中的uigesturerecognizerstate,
// 可以通過判斷手勢狀態,避免兩次輸出;
nslog(@"長按");
}- (void)rotationaction:(uirotationgesturerecognizer *)rotation
- (void)pinchaction:(uipinchgesturerecognizer *)pinch
else
nslog(@"%f", pinch.scale);
}@end
觸控和手勢
一,uiview繼承自uiresponser uitoch toch uitoches anyobject 當前觸控點 cgpoint point toch locationinview self 上乙個位置 previouslocationinview uibezierpath 貝塞爾曲線 cgr...
手勢識別ViewFlipper觸控動畫
html view plain copy xmlversion 1.0 encoding utf 8 linearlayout xmlns android android layout width fill parent android layout height fill parent andro...
觸控手勢識別2
1.點按手勢 uitapgesturerecognizer tap uitapgesturerecognizer alloc initwithtarget self action selector tap 點按次數,例如雙擊2 注意 在ios中最好少用雙擊,如果一定要用,就一定要有乙個圖形化的介面告...