2012-05-12 5 views
0

사용자가 화면의 아무 곳이나 두 드렸는지 여부를 알기 위해 - (void) touchesBegan ...을 사용하고 있습니다. 사용자가 화면을 탭하면 작업이 실행됩니다. 그러나 그 사람이 손가락을 들어 올릴 때마다 그 행동은 중단됩니다. 특히 나는 사용자가 도청 할 때 imageView.animateImages를 한 번 실행합니다. 나는 그것이 탭하고 놓아 버리면 애니메이션이 계속 실행되도록 (내가 repeatCount를 1로 설정했습니다) 있도록하고 싶습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 미리 감사드립니다!touchesBegan으로 액션을 완전히 실행

답변

0

음, 아마도 NSNotifications를 사용해야합니다. 이 같은 것을 시도해보십시오. 도움이되는지 확인하십시오.

... 

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 
[nc addObserver:self selector:@selector(nameOfAnimationMethod) name:@"touched" object:nil]; 

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 

[nc postNotificationName:@"touched" object:self]; 

} 

그럼 어떻게되는지 설명 드리겠습니다. 통지 센터를 작성하고, 현재의 오브젝트를 관찰자로서 통지 센터에 추가하여 통지를 "수신"합니다. 알림 센터에서 알림을 게시하면 개체는 메서드 (selector) "nameOfAnimationMethod"를 실행합니다. touchesBegan 메소드 오버라이드를 보면 "tuched"라는 이름으로 알림을 게시 한 것을 볼 수 있습니다. 이렇게하면 개체가 원하는 메서드를 실행하도록 트리거합니다.

이것이 도움이 되었다면 제 대답을 수락하십시오! 그것은 우리 모두에게 정말로 도움이됩니다.

+0

나는 그것을했지만, 내 문제를 해결하지 못했습니다. 내가 클릭 할 때마다 나는 놓아 버렸고 애니메이션을 멈추게했다. 내가 행동을 한 문제는 (IBAction)입니까? – Toby

+0

당신은 - (IBAction)을 만들었습니까? 그럼 그것은 중요 할 수 있습니다! 콘센트에 연결했을 때, 무엇을 터치 타입으로 만들었습니까 (터치 인, 터치 인 터치)? – Monkeyanator

+0

나는 그것을 콘센트로 삼지 않았다. 프로그래밍 방식으로 모두 완료됩니다. – Toby