2010-08-02 46 views
6

Tôi có hình ảnh động, cho đến khi bạn nhấn nút có nội dung "Dừng". Mã hoạt động và tất cả, nhưng hình ảnh trở về hình ảnh đầu tiên trong mảng. Làm cách nào tôi có thể thêm mã để yêu cầu nó dừng lại ở hình ảnh hiện tại?Dừng hoạt ảnh ở hình ảnh hiện tại

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    imageView.animationImages = [NSArray arrayWithObjects: 
          [UIImage imageNamed:@"a0001.png"], 
          [UIImage imageNamed:@"a0002.png"], 
          [UIImage imageNamed:@"a0003.png"], 
          [UIImage imageNamed:@"a0004.png"], 
          [UIImage imageNamed:@"a0005.png"], nil]; 

    imageView.animationDuration = 3.00; 
    imageView.animationRepeatCount = 0; 
    [imageView startAnimating]; 
    [self.view addSubview:imageView]; 
} 

- (IBAction)stopAni {  
    [imageView stopAnimating];  
} 

Cảm ơn


Cảm ơn chủ nhiệm khoa, hey Em cần anh một lần nữa: p bây giờ tôi đã có thể để ngăn chặn nó, nơi tôi muốn, tôi có thể làm cho nó tiếp tục hoạt hình mà nó đã ngừng ??

Trả lời

3

Thiết lập thuộc tính hình ảnh của UIImageView là một trong những bạn muốn dừng lại ở

- (IBAction)stopAni { 
    [imageView stopAnimating]; 
    [imageView setImage:[[imageView animationImages] objectAtIndex:currentFrame]; 
} 

Khung hiện tại chỉ là trong suốt thời gian hoạt hình chia cho số lượng thời gian mà bạn đã được animatin (bạn sẽ có để lưu trữ thời gian mà bạn bắt đầu tạo hiệu ứng động cho mình)

+0

Thank deanWombourne: D – awlcs

+0

hey nhưng làm thế nào để lưu trữ thời gian tôi bắt đầu các hình ảnh động? – awlcs

+1

Một cái gì đó như __startTime = [[NSDate date] timeIntervalSince1970]; __ sẽ cung cấp cho bạn một thời gian tham chiếu (như là một NSTimeInterval). Bạn có thể nhận được thời lượng của hoạt ảnh bằng thời gian __NSTimeInterval = [[NSDate date] timeIntervalSince1970] - startTime; __ – deanWombourne

Các vấn đề liên quan