2015-12-09 2 views
0

Я сделал анимацию, затухал и исчезал на камеру. Когда я нажимаю на ячейку (кнопка на всей ячейке), действие передается по протоколу коллекцииView и появляется на другом контроллере (detailController).Fade in and fade out animation is too slow

Клетка

- (IBAction)cellButtonPressed:(id)sender { 
    [self fadeIn]; 
} 

-(void)fadeIn { 
    [UIView animateWithDuration:0.5 
          delay:0.0 
         options:0.0 
        animations:^{ 
         self.coverAlbumPhoto.alpha = 0.0f; 
         self.shadowView.alpha = 0.0f; 
         self.mountainBorderImageView.alpha = 0.0f; 

        } completion:^(BOOL finished) { 
         [self fadeOut]; 
        }]; 
} 
-(void)fadeOut { 
    [UIView animateWithDuration:0.5 
          delay:0.0 
         options:0.0 
        animations:^{ 
         self.coverAlbumPhoto.alpha = 1.0f; 
         self.shadowView.alpha = 1.0f; 
         self.mountainBorderImageView.alpha = 1.0f; 

        } completion:^(BOOL finished) { 
         if ([self.delegate respondsToSelector:@selector(tapCellButtonAtIndexPath:)]) { 
          [self.delegate tapCellButtonAtIndexPath:self.indexPath]; 
         } 
        }]; 
} 

Коллекция Просмотр

(void)tapCellButtonAtIndexPath:(NSIndexPath *)indexPath { 
    ArtworkModel *artworkModel = (ArtworkModel *)[listOfArtworks objectAtIndex:indexPath.row]; 

    FBWorkDetailsViewController *dvc = [[FBWorkDetailsViewController alloc] initWithArtwork:artworkModel]; 
    FBLeftMenuViewController *left = [[FBLeftMenuViewController alloc] init]; 
    MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController 
                containerWithCenterViewController: dvc 
                leftMenuViewController: left 
                rightMenuViewController:nil 
                withHeader: YES]; 
    [container.titleLabel setText:@"WORK DETAILS"]; 
    [self.navigationController pushViewController: container animated: YES]; 
} 

Проблема заключается в том, что анимация является слишком медленным. Может ли кто-нибудь объяснить мне, почему? Благодарю.

ответ

3

У вас есть 2 анимации, каждая из которых длится 0,5 секунды. Это дает общую продолжительность 1 секунды. Если вы хотите, чтобы это было быстрее, используйте более короткую продолжительность. Общее время анимации от 0,2 до 0,3 секунды, вероятно, является хорошим местом для начала, поэтому попробуйте отложить длительность каждого шага до 0,15 секунды (всего 0,3 секунды).