Анимация в objective C

#objective-c

#objective-c

Вопрос:

 -(IBAction)nextButtonAction:(id)sender{
    UIView *newView=[[UIView alloc]initWithFrame:CGRectMake(0.0f,0.0f,320.0f,416.0f)];
    UIImageView *newImageView=[[UIImageView alloc]initWithFrame:CGRectMake(0.0,0.0, 320.0,416.0 )];
    UIImageView *upperImageView=[[UIImageView alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0,416)];
    if(pageCount == 72){
        backBarButton.title=@"About Us";
        if(img){
            [newImageView setImage:[UIImage imageNamed:@"splashscreenhsd.png"]];}
        else{
            [newImageView setImage:[UIImage imageNamed:@"splashscreen.png"]];
        }

        [titleBarItem setTitle:@"0/72"];
        [newView addSubview:newImageView];
        pageCount=0;
    }   else {
        pageCount  ;
        NSString *page=[NSString stringWithFormat:@"pagehsd%d.png",pageCount];
        NSString *pageString=[NSString stringWithFormat:@"page%d.png",pageCount];

        if(img){
            [upperImageView setImage:[UIImage imageNamed:page]];
        }
        else{

            [upperImageView setImage:[UIImage imageNamed:pageString]]; }
        if(img){
            [newImageView setImage:[UIImage imageNamed:@"backgroundhsd.png"]];}
        else{
            [newImageView setImage:[UIImage imageNamed:@"background.png"]];
        }
        [newImageView addSubview:upperImageView];
        [newView addSubview:newImageView];
        [titleBarItem setTitle:[NSString stringWithFormat:@"%d/72",pageCount]];     
        aboutUsButton.title=@"Back";   
    }
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:[self view] cache:NO];
    [[self view] addSubview:newView];
    [UIView commitAnimations];
}
  

Я использую этот код, и в этом есть проблема, когда я продолжаю нажимать кнопку далее, анимация становится быстрее при каждом нажатии, и анимация становится невидимой. Подскажите мне решение этой проблемы.

Ответ №1:

Измените длительность анимации (в секундах). Значение по умолчанию равно 0.2

[UIView setAnimationDuration:1.0];

Комментарии:

1. Я уже установил продолжительность 1.0. В этом коде есть две кнопки next и back, всякий раз, когда я нажимаю несколько раз на кнопку next, анимация не остается статичной, она становится быстрее. Это происходит так быстро, что я не могу судить о переворачивании страниц. Итак, помогите мне решить эту проблему.