2014-10-29 63 views

回答

1

這是你如何去實現它基本設置:

@interface ViewController() { 
    NSTimer *_timer; 
    CGRect sliderFrame; 
} 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.slider.minimumValue = 0.0f; 
    self.slider.maximumValue = 100.0f; 

    sliderFrame = self.slider.frame; 

    _timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(addLabel:) userInfo:nil repeats:YES]; 
    [_timer fire]; 
} 

- (void) addLabel:(NSTimer*) timer {  
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(sliderFrame.origin.x + self.slider.value/100 * self.slider.frame.size.width, sliderFrame.origin.y - 10, 20, 20)]; 
    label.text = @"1"; 
    [self.view addSubview:label]; 
} 

@end 
0

假設你使用的是動畫塊,那麼,你的塊中,你可以使用setAnimationDelay。例如;

[UIView animateWithDuration:5.0 animations: 
^{ 
    [UIView setAnimationDelay:1.0]; 
    ... 
    } completion:^(BOOL finished){ 
    ...   
    }]; 

這將做一個5秒的動畫,延遲1秒後纔開始。

0

您可以使用操作方法來掛接valueChangeEvent。

您可以在該方法中放置一個動畫塊,並在開始動畫之前傳遞等待的秒數作爲延遲參數。

[UIView animateWithDuration:(NSTimeInterval) delay:(NSTimeInterval) options:(UIViewAnimationOptions) animations:^(void)animations completion:^(BOOL finished)completion] 

然後你可以改變添加任何動畫你需要的視圖。