Iphone 掐;旋转:未调用UIgestureRecognitizerDelegate
我试图在同一个视图中实现收缩和旋转。有时会调用挤压选择器,有时会调用旋转选择器,好吧,但随后它会继续使用。问题显然是,Iphone 掐;旋转:未调用UIgestureRecognitizerDelegate,iphone,ios,sdk,uigesturerecognizer,Iphone,Ios,Sdk,Uigesturerecognizer,我试图在同一个视图中实现收缩和旋转。有时会调用挤压选择器,有时会调用旋转选择器,好吧,但随后它会继续使用。问题显然是,gestureRecognitor:(uigestureRecognitor*)gestureRecognitor应该与gestureRecognitor:(uigestureRecognitor*)其他gestureRecognitor同时识别。为什么不呢?一定是很明显的事情 @interface FaceView : UIView <UIGestureRecognize
gestureRecognitor:(uigestureRecognitor*)gestureRecognitor应该与gestureRecognitor:(uigestureRecognitor*)其他gestureRecognitor
同时识别。为什么不呢?一定是很明显的事情
@interface FaceView : UIView <UIGestureRecognizerDelegate>
{
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
@end
@implementation FaceView
- (id)initWithFrame:(CGRect)frame
{
if( self = [super initWithFrame:frame] )
{
self.multipleTouchEnabled = YES;
self.userInteractionEnabled = YES;
UIRotationGestureRecognizer* rotationRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationGesture:)];
[self addGestureRecognizer:rotationRecognizer];
[rotationRecognizer release];
UIPinchGestureRecognizer* pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGesture:)];
[self addGestureRecognizer:pinchRecognizer];
[pinchRecognizer release];
}
return self;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
NSLog(@"gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer");
return YES;
}
- (void)rotationGesture:(UIRotationGestureRecognizer*)gesture
{
switch( gesture.state )
{
case UIGestureRecognizerStateBegan:
NSLog(@"rotationGesture began");
break;
case UIGestureRecognizerStateChanged:
NSLog(@"rotationGesture changed");
break;
}
}
- (void)pinchGesture:(UIPinchGestureRecognizer*)gesture
{
switch( gesture.state )
{
case UIGestureRecognizerStateBegan:
NSLog(@"pinchGesture began");
break;
case UIGestureRecognizerStateChanged:
NSLog(@"pinchGesture changed");
break;
}
}
....
@界面面视图:UIView
{
}
-(BOOL)手势识别器:(UIGestureRecognizer*)手势识别器应与手势识别器:(UIGestureRecognizer*)其他手势识别器同时识别;
@结束
@实现FaceView
-(id)initWithFrame:(CGRect)帧
{
if(self=[super initWithFrame:frame])
{
self.multipleTouchEnabled=是;
self.userInteractionEnabled=是;
UIRotationGestureRecognizer*rotationRecognizer=[[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(Rotation手势:)];
[self-AddgestureRecognitor:RotationRecognitor];
[旋转识别器释放];
UIPinchGestureRecognizer*pinchRecognizer=[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchGesture:)];
[self-AddgestureRecognitor:PinchreRecogniter];
[钳形释放];
}
回归自我;
}
-(BOOL)手势识别器:(UIGestureRecognizer*)手势识别器应与gestureRecognizer:(UIGestureRecognizer*)其他手势识别器同时识别
{
NSLog(@“手势识别器:应与手势识别器同时识别”);
返回YES;
}
-(无效)旋转手势:(ui旋转手势识别器*)手势
{
开关(手势状态)
{
案例UIgestureRecognitzerStateStart:
NSLog(“旋转手势开始”);
打破
案例UIgestureRecognitzerStateChanged:
NSLog(@“旋转姿势已更改”);
打破
}
}
-(无效)pinchGesture:(UIPinchGestureRecognitor*)手势
{
开关(手势状态)
{
案例UIgestureRecognitzerStateStart:
NSLog(@“pinchGesture开始”);
打破
案例UIgestureRecognitzerStateChanged:
NSLog(@“pinchGesture变更”);
打破
}
}
....
我必须设置rotationRecognizer.delegate=self代码>和pinchRecognizer.delegate=self代码>