도움이 필요하고 해결 방법이 필요합니다. 기본적으로 나는 가속도계를 사용하여 다른 뷰로 전환하는 뷰를 가지고 있습니다. 문제는 한 번만 작동한다는 것입니다. 첫 번째보기로 돌아 가면 가속도계가 프로젝트를 다시 작성할 때까지 다시 작동하지 않습니다. 도움의 모든 종류가 많이 주시면 감사하겠습니다보기를 전환 할 때 UIAccelerometer가 두 번 이상 작동하는 경우
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
float aX = ABS(acceleration.x);
float aY = ABS(acceleration.y);
float aZ = ABS(acceleration.z);
if(sqrt(aX*aX+aY*aY+aZ*aZ)>1.5f)
{
SecondViewController *screen = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
//screen.words = self.easy;
[self presentModalViewController:screen animated:YES];
[screen release];
self.accelerometer.delegate = nil;
}
:
이
은 내가 사용하는 방법입니다.
왜 self.accelerometer.delegate = nil을 설정합니까? 다른 시각으로 전환하면? 문제를 일으킬 수 있습니다. –
"accelerometer : didAccelerate"함수가 매번 호출되기 때문에 현재 전환이 실행 중일 때 전환을 시작하려고하기 때문에 설정하지 않으면 오류가 발생합니다. –
다시 한번 가속도계 대의원을 지정 하시겠습니까? 즉, viewDidLoad/viewWillAppear/viewDid 어느 곳에 있든 상관없이, self.accelerometer.delegate = self와 같이 넣을 수 있습니다. 나는 이것이 당신을 위해 일해야한다고 생각합니다. –