¸Ð¾õÓбØÒª°ÑiOS¿ª·¢ÖеÄÊÖÊÆÊ¶±ð×öÒ»¸öССµÄ×ܽᡣÔÚÉÏһƪiOS¿ª·¢Ö®×Ô¶¨Òå±íÇé¼üÅÌ(×é¼þ·â×°Óë×Ô¶¯²¼¾Ö)²©¿ÍÖÐÓõ½ÁËÒ»¸öÇá»÷ÊÖÊÆ£¬¾ÍÊÇÔÚÇá»÷TextViewʱ´Ó±íÇé¼üÅ̻ص½ÏµÍ³¼üÅÌ£¬ÔÚTextViewÖеÄÊÖÊÇÓÃstoryboardÌí¼ÓµÄ¡£ÏÂÃæ»áÏȸø³öÈçºÎÓÃstoryboard¸øÏàÓ¦µÄ¿Ø¼þÌí¼ÓÊÖÊÆ£¬È»ºóÔÚÓô¿´úÂëµÄ·½Ê½¸øÎÒÃǵĿؼþÌí¼ÓÊÖÊÆ£¬ÊÖÊÆµÄÓ÷¨±È½Ï¼òµ¥¡£ºÍbuttonµÄÓ÷¨ÀàËÆ£¬Ò²ÊÇÄ¿±ê¶¯×÷»Øµ÷£¬»°²»¶à˵£¬ÇÐÈë½ñÌìµÄÕýÌâ¡£×ܹ²ÓÐÁùÖÖÊÖÊÆÊ¶±ð£ºÇá»÷ÊÖÊÆ£¨TapGestureRecognizer£©,ÇáɨÊÖÊÆ£¨SwipeGestureRecognizer£©,
³¤°´ÊÖÊÆ£¨LongPressGestureRecognizer£©, Í϶¯ÊÖÊÆ£¨PanGestureRecognizer£©,
ÄóºÏÊÖÊÆ£¨PinchGestureRecognizer£©,ÐýתÊÖÊÆ£¨RotationGestureRecognizer£©;
ÆäʵÕâЩÊÖÊÆÓÃtoucheʼþÍêÈ«¿ÉÒÔʵÏÖ£¬Æ»¹û¾ÍÊǰѳ£ÓõĴ¥Ãþʼþ·â×°³ÉÊÖÊÆ£¬À´Ìṩ¸øÓû§¡£¶ÁÕßÍêÈ«¿ÉÒÔÓÃTouchesMovedÀ´Ð´Í϶¯ÊÖÊÆµÈ
Ò»£¬ÓÃstoryboard¸ø¿Ø¼þÌí¼ÓÊÖÊÆÊ¶±ð£¬µ±È»À²ÓÃstoryboardµÃ½ØÕÅͼÀ²
1.ÓÃstoryboardÌí¼ÓÊÖÊÆÊ¶±ð£¬ºÍÌí¼ÓÒ»¸öButtonµÄ²½ÖèÒ»Ñù£¬Ê×ÏÈÎÒÃǵÃÕÒµ½ÏàÓ¦µÄÊÖÊÆ£¬°ÑÊÖÊÆÊ¶±ðµÄ¿Ø¼þÍϵ½ÎÒÃÇÒªÌí¼ÓÊÖÊÆµÄ¿Ø¼þÖУ¬½ØÍ¼ÈçÏ£º
2.¸øÎÒÃÇÍϳöµÄÊÖÊÆÌí¼Ó»Øµ÷ʼþ£¬ºÍ¸øButton»Øµ÷ʼþÃ»É¶Çø±ðµÄ£¬Ôڻص÷·½·¨ÖÐÌí¼ÓҪʵÏÖµÄÒµÎñÂß¼¼´¿É£¬½ØÍ¼ÈçÏ£º
¶þ£¬´¿´úÂëÌí¼ÓÊÖÊÆÊ¶±ð
ÓÃstoryboard¿ÉÒÔ´ó´ó¼ò»¯ÎÒÃǵIJÙ×÷£¬²»¹ý´¿´úÂëµÄ·½Ê½»¹ÊÇÒª»áµÄ£¬¾ÍÏñÒªDreamwear±à¼ÍøÒ³Ò»Ñù£¨µ±È»À²£¬storyboardµÄÍÏ×§¹¦ÄÜÒª±ÈDreamwearµÄÍÏ×§Ç¿´óµÄ¶à£©£¬Óô¿´úÂëÇóöÀ´µÄ¸üΪÁé»î£¬¸ü¼Ó±ãÓÚά»¤¡£²»¹ýÓÃstoryboard¿ÉÒÔ¼õÉÙÎÒÃǵŤ×÷Á¿£¬ÕâÁ½¸öÒªÅäºÏ×ÅʹÓòÅÄÜ´ó´óµÄÌá¸ßÎÒÃǵĿª·¢Ð§ÂÊ¡£¸öÈ˸оõÓÃstoryboard°Ñ¿ò¼Ü´îÆðÀ´£¨Controller¼äµÄ¹ØÏµ£©£¬Ò»ÏÂСµÄ¶«Î÷»¹ÊÇÓô¿´úÂëÇóöÀ´¸üºÃһЩ¡£ÏÂÃæ¾Í¸ø³öÈçºÎ¸øÎÒÃǵĿؼþÓô¿´úÂëµÄ·½Ê½À´Ìí¼ÓÊÖÊÆÊ¶±ð¡£
1.Çá»÷ÊÖÊÆ£¨TapGestureRecognizer£©µÄÌí¼Ó
³õʼ»¯´úÂëTapGestureRecongnizerµÄ´úÂëÈçÏ£º
//н¨tapÊÖÊÆ 2 UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)]; 3 //ÉèÖõã»÷´ÎÊýºÍµã»÷ÊÖÖ¸Êý 4 tapGesture.numberOfTapsRequired = 1; //µã»÷´ÎÊý 5 tapGesture.numberOfTouchesRequired = 1; //µã»÷ÊÖÖ¸Êý 6 [self.view addGestureRecognizer:tapGesture]; |
Ôڻص÷·½·¨ÖÐÌí¼ÓÏàÓ¦µÄÒµÎñÂß¼£º
//Çá»÷ÊÖÊÆ´¥·¢·½·¨ 2 -(void)tapGesture:(id)sender 3 { 4 //Çá»÷ºóÒª×öµÄÊÂÇé 5 } |
2.³¤°´ÊÖÊÆ£¨LongPressGestureRecognizer£©
³õʼ»¯´úÂ룺
//Ìí¼Ó³¤ÞôÊÖÊÆ 2 UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(longPressGesture:)]; 3 //ÉèÖ󤰴ʱ¼ä 4 longPressGesture.minimumPressDuration = 0.5; //(2Ãë) 5 [self.view addGestureRecognizer:longPressGesture]; |
ÔÚ¶ÔÓ¦µÄ»Øµ÷·½·¨ÖÐÌí¼ÓÏàÓ¦µÄ·½·¨£¨µ±ÊÖÊÆ¿ªÊ¼Ê±Ö´ÐУ©£º
//³£ÞôÊÖÊÆ´¥·¢·½·¨ 2 -(void)longPressGesture:(id)sender 3 { 4 UILongPressGestureRecognizer *longPress = sender; 5 if (longPress.state == UIGestureRecognizerStateBegan) 6 { 7 UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"Ìáʾ"
message:@"³¤°´´¥·¢" delegate:nil cancelButtonTitle:@"È¡Ïû" otherButtonTitles: nil]; 8 [alter show]; 9 } 10 } |
´úÂë˵Ã÷£ºÊÖÊÆµÄ³£ÓÃ״̬ÈçÏÂ
1.¿ªÊ¼£ºUIGestureRecognizerStateBegan
2.¸Ä±ä£ºUIGestureRecognizerStateChanged
3.½áÊø£ºUIGestureRecognizerStateEnded
4.È¡Ïû£ºUIGestureRecognizerStateCancelled
5.ʧ°Ü£ºUIGestureRecognizerStateFailed
3.ÇáɨÊÖÊÆ£¨SwipeGestureRecognizer£©
ÔÚ³õʼ»¯ÇáɨÊÖÊÆµÄʱºòµÃÖ¸¶¨ÇáɨµÄ·½Ïò£¬ÉÏÏÂ×óÓÒ¡£ Èç¹ûÒªÒªÌí¼Ó¶à¸öÇáɨ·½Ïò£¬¾ÍµÃÌí¼Ó¶à¸öÇáɨÊÖÊÆ£¬²»¹ý»Øµ÷µÄÊÇͬһ¸ö·½·¨¡£
Ìí¼ÓÇáɨÊÖÊÆ£¬Ò»¸öÏò×óÒ»¸öÏòÓÒ£¬´úÂëÈçÏ£º
//Ìí¼ÓÇáɨÊÖÊÆ 2 UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(swipeGesture:)]; 3 //ÉèÖÃÇáɨµÄ·½Ïò 4 swipeGesture.direction = UISwipeGestureRecognizerDirectionRight; //ĬÈÏÏòÓÒ 5 [self.view addGestureRecognizer:swipeGesture]; 6 7 //Ìí¼ÓÇáɨÊÖÊÆ 8 UISwipeGestureRecognizer *swipeGestureLeft = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(swipeGesture:)]; 9 //ÉèÖÃÇáɨµÄ·½Ïò 10 swipeGestureLeft.direction = UISwipeGestureRecognizerDirectionLeft; //ĬÈÏÏòÓÒ 11 [self.view addGestureRecognizer:swipeGestureLeft]; |
»Øµ÷·½·¨ÈçÏ£º
//ÇáɨÊÖÊÆ´¥·¢·½·¨ 2 -(void)swipeGesture:(id)sender 3 { 4 UISwipeGestureRecognizer *swipe = sender; 5 if (swipe.direction == UISwipeGestureRecognizerDirectionLeft) 6 { 7 //Ïò×óÇáɨ×öµÄÊÂÇé 8 } 9 if (swipe.direction == UISwipeGestureRecognizerDirectionRight) 10 { 11 //ÏòÓÒÇáɨ×öµÄÊÂÇé 12 } 13 }
|
4.ÄóºÏÊÖÊÆ£¨PinchGestureRecognizer£©
ÄóºÏÊÖÊÆ³õʼ»¯
//Ìí¼ÓÄóºÏÊÖÊÆ 2 UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc]
initWithTarget:self action:@selector(pinchGesture:)]; 3 [self.view addGestureRecognizer:pinchGesture]; |
ÄóºÏÊÖÊÆÒª´¥·¢µÄ·½·¨£¨·Å´ó»òÕßËõСͼƬ£©£º
////ÄóºÏÊÖÊÆ´¥·¢·½·¨ 2 -(void) pinchGesture:(id)sender 3 { 4 UIPinchGestureRecognizer *gesture = sender; 5 6 //ÊÖÊÆ¸Ä±äʱ 7 if (gesture.state == UIGestureRecognizerStateChanged) 8 { 9 //ÄóºÏÊÖÊÆÖÐscaleÊôÐԼǼµÄËõ·Å±ÈÀý 10 _imageView.transform = CGAffineTransformMakeScale(gesture.scale, gesture.scale); 11 } 12 13 //½áÊøºó»Ö¸´ 14 if(gesture.state==UIGestureRecognizerStateEnded) 15 { 16 [UIView animateWithDuration:0.5 animations:^{ 17 _imageView.transform = CGAffineTransformIdentity;//È¡ÏûÒ»ÇÐÐαä 18 }]; 19 } 20 } |
5.Í϶¯ÊÖÊÆ£¨PanGestureRecognizer£©
Í϶¯ÊÖÊÆµÄ³õʼ»¯
//Ìí¼ÓÍ϶¯ÊÖÊÆ 2 UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGesture:)]; 3 [self.view addGestureRecognizer:panGesture]; |
Í϶¯ÊÖÊÆÒª×öµÄ·½·¨£¨Í¨¹ýtranslationInView»ñÈ¡ÒÆ¶¯µÄµã£¬ºÍTouchesMoved·½·¨ÀàËÆ£©
//Í϶¯ÊÖÊÆ 2 -(void) panGesture:(id)sender 3 { 4 UIPanGestureRecognizer *panGesture = sender; 5 6 CGPoint movePoint = [panGesture translationInView:self.view]; 7 8 //×öÄãÏë×öµÄʶù 9 } |
6.ÐýתÊÖÊÆ£¨RotationGestureRecognizer£©
ÐýתÊÖÊÆµÄ³õʼ»¯
//Ìí¼ÓÐýתÊÖÊÆ 2 UIRotationGestureRecognizer *rotationGesture = [[UIRotationGestureRecognizer alloc]
initWithTarget:self action:@selector(rotationGesture:)]; 3 [self.view addGestureRecognizer:rotationGesture]; |
ÐýתÊÖÊÆµ÷Óõķ½·¨£º
//ÐýתÊÖÊÆ 2 -(void)rotationGesture:(id)sender 3 { 4 5 UIRotationGestureRecognizer *gesture = sender; 6 7 if (gesture.state==UIGestureRecognizerStateChanged) 8 { 9 _imageView.transform=CGAffineTransformMakeRotation(gesture.rotation); 10 } 11 12 if(gesture.state==UIGestureRecognizerStateEnded) 13 { 14 15 [UIView animateWithDuration:1 animations:^{ 16 _imageView.transform=CGAffineTransformIdentity;//È¡ÏûÐαä 17 }]; 18 } 19 20 } |
ÉÏÃæµÄ¶«Î÷ûÓжà¸ßÉîµÄ¼¼Êõ£¬¾ÍÊǶÔiOS¿ª·¢ÖеÄÊÖÊÆ×öÁËÒ»ÏÂССµÄ×ܽᣬιÊһϻù´¡ÖªÊ¶¡£ÔÚ֮ǰµÄ²©¿ÍÖÐÒ²ÓÐÓõ½ÊÖÊÆÊ¶±ðµÄÄÚÈÝ£¬¾ÍÊÇûÓÐϵͳµÄÊáÀíÒ»ÏÂÊÖÊÆÊ¶±ðµÄ֪ʶ£¬±¾Æª²©¿Í×öÒ»¸ö»ù´¡µÄ²¹³ä°É¡£»¶ÓÅúÆÀÖ¸Õý£¬×ªÔØÇë×¢Ã÷³ö´¦¡£
|