1 屏幕触控实现(单击 双击)
[self becomeFirstResponder]; //允许多点互动 self.view.multipleTouchEnabled=TRUE;
实现事件部分
#PRagma mark-#pragma mark touch - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ //触摸开始 }- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ //移动 }- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ //结束 UITouch *atouch=[touches anyObject]; if(atouch.tapCount>=2) { //双击 } else if(atouch.tapCount==1) { //单击 }}- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{}
2 手势识别(UIlabel 点击事件实现)
//设置图片的点击事件 UITapGestureRecognizer *recongnizer=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTapFrom:)];recongnizer.numberOfTapsRequired=1; self.img.userInteractionEnabled=YES; [self.img addGestureRecognizer:recongnizer];}-(void)handleTapFrom:(UITapGestureRecognizer *)recognizer{ [self updateDisplayValuesWithTip:@"tap" tapCount:1 touchCount:1];}
3 屏幕晃动实现
//AppDelegate 中实现- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ application.applicationSupportsShakeToEdit = YES;}//或者代码中实现 [[UIApplication sharedApplication] setApplicationSupportsShakeToEdit:YES];//ViewController 中实现下面方法- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);{}- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0){ if (event.subtype == UIEventSubtypeMotionShake) { //摇一摇 行为 }}- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0){}
4 图片滑动换页
UISwipeGestureRecognizer *recognizer; self.img.userInteractionEnabled=YES; recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)]; [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)]; [[self img] addGestureRecognizer:recognizer]; }-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer { NSLog(@"Swipe received."); if (recognizer.direction==UISwipeGestureRecognizerDirectionRight) { NSLog(@"swipe down"); [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.0f]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationRepeatAutoreverses:NO]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; //界面变化部分 //........ [UIView commitAnimations]; }}
新闻热点
疑难解答