2009-12-08 6 views
0

이 기능을 사용하여 동작을 만드는 중입니다. 어떻게 동작을 중지합니까? 나는 그것이 시작점으로 복원 싶어요. 감사.iphone - 중지 및 복원 방법

[NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(shuffleOnTimer) userInfo:nil repeats:YES]; 

-(void) shuffleOnTimer { 

    jb.center = CGPointMake(jb.center.x+pos1.x,jb.center.y+pos1.y); 

    if(jb.center.x > 60 || jb.center.x < 0) 
    pos1.x = -pos1.x; 
    if(jb.center.y > 240 || jb.center.y < 100) 
    pos1.y = -pos1.y;} 

답변

2

어느 시점에서 타이머를 무효화해야합니다. 일부 나중에 같은

self.originalPoint = jb.position; 
self.timer = [NSTimer scheduledTimerWithTimeInterval… 

: 구현 파일에서

@class myClass : NSObject { 
    .... 
    NSTimer  *timer; 
    CGPoint  originalPoint; 
    ... 
} 
@property (nonatomic, readwrite, assign) NSTimer *timer; 
@property (nonatomic, readwrite) CGPoint originalPoint; 

: 헤더 파일에서

:이 작업을 수행하기 위해에 대한 참조를 저장해야합니다

+0

사용 자체 컴파일러 오류 (개체를 설정할 수 없습니다 ...) – omri

+0

그가 말했듯이, 당신은 참조를 저장해야합니다 타이머에. 그의 예에서는 타이머를 현재 클래스의 속성으로 지정했습니다. –

+0

은 이제 작동하지만 애니메이션을 멈추게 할뿐입니다. 어떻게 시작 위치로 복원합니까? – omri