2012-10-10 4 views
2

방금 ​​C4를 다운로드하고 이미 슬쩍 제스처가있는 샘플 코드로 집어 넣으려고합니다.Pinch 제스처가 C4에서 지원됩니까?

[ball addGesture:SWIPERIGHT name:@"swipeR" action:@"swipeBall"]; 
[ball addGesture:PINCH name:@"pinch" action:@"zoomBall"]; 

을 최대한 빨리 이상한 주어진 핀치가 아래의 오류 메시지에서 언급 한 목록에있는 것 같다 내가 컴파일에 다음과 같은 오류 메시지가 핀치에 두 번째 줄을 추가로 다음과 같이 코드입니다. 무슨 아이디어있어?

오류 메시지 :

2012-10-10 00:58:06.166 Test[24121:10703] *** Assertion failure in -[MyBall addGesture:name:action:], /Users/moi/Development/C4Installer/libC4/libC4/C4Control.m:319

2012-10-10 00:58:06.184 Test[24121:10703] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The gesture you tried to use is not one of: TAP, PINCH, SWIPERIGHT, SWIPELEFT, SWIPEUP, SWIPEDOWN, ROTATION, PAN, or LONGPRESS'

*** First throw call stack: (0x320022 0x1730cd6 0x2c8a48 0x99c2cb 0xcdd3 0x380b 0x3190 0xe2b386 0xe2c274 0xe3b183 0xe3bc38 0xe2f634 0x3c2eef5 0x2f4195 0x258ff2 0x2578da 0x256d84 0x256c9b 0xe2bc65 0xe2d626 0x2d3d 0x2ca5) terminate called throwing an exception(lldb)

답변

1

불행하게도, 나는 아직 핀치 제스처를 구현하지 않았습니다. 변수는 자리 표시 자와 같이 사용할 수 있습니다. 곧 API에 곧 반영 될 것입니다.

0

나는 이것을 구현할 수 있었다고 생각합니다.

나는 c4CanvasController에 가서 addGesture 방법이 추가 : 내가 핀치를 정의하기위한 행동처럼 확대

[self addGesture:PINCH name:@"pinchme" action:@"customPinchMethod:"]; 

: 나는 평소와 같이 프로젝트에 제스처를 추가 한 다음

case PINCH: 
      recognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:NSSelectorFromString(methodName)]; 
      break; 

꼬집기 제스처 콜백 메소드.

-(void)customPinchMethod:(UIPinchGestureRecognizer*)sender { 
    NSLog(@"Pinching"); 

    NSLog(@"latscale = %f",mLastScale); 

    mScale = sender.scale*mLastScale; 
    if (sender.state == UIGestureRecognizerStateEnded) mLastScale = mScale; 

    CGAffineTransform currentTransform = CGAffineTransformIdentity; 
    CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, mScale ,mScale); 
    self.view.transform = newTransform; 

}

관련 문제