2013-04-28 6 views
0

3 초마다 UIImageView 이미지가 변경되는 간단한 슬라이드 쇼를 만들려고합니다. 먼저 에 [self slideShow]으로 전화합니다. 타이머 나는 웬일인지 오직 한 번만 달리고 나는 그것을 알아낼 수 없다. 여기 내 다른 방법은 다음과 같습니다간단한 UIImageView 슬라이드 쇼 IOS 타이머 문제

- (void)slideShow 
{ 
    timer = [NSTimer timerWithTimeInterval:3.0 
             target:self 
             selector:@selector(imChange) 
             userInfo:nil 
             repeats:YES]; 
    [timer fire]; 
} 

- (void)imChange 
{ 
    NSLog(@"%d",slideNum); 
    switch (slideNum) { 
     case 0: 
      imView.image = img1; 
     break; 

     case 1: 
      imView.image = img2; 
     break; 

    default: 
     break; 
} 

    slideNum++; 

    if (slideNum > 1) { 
     slideNum = 0; 
    } 
} 

편집 : 타이머가 변수 인스턴스

답변

4

사용이 구현 -

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:3.0 
            target:self 
            selector:@selector(imChange) 
            userInfo:nil 
            repeats:YES]; 

timerWithTimeInterval 매개 변수를 사용하여 당신은 당신의 타이머를 추가해야하기 때문에

수동 NSRunLoop 에서, 이렇게 :

[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];