1

Ниже приведен мой код. Используется для отображения некоторого эффекта затухания при добавлении таблицы на вспомогательный вид. Проблема в том, что код работает в первый раз. После добавления таблицы, когда я нажимаю, панель кнопок «Под просмотр» удаляется. Но когда я нажал на кнопку, чтобы добавить таблицу снова подвид выцветанию эффект не работает нормальноRepeat Fade Effect не работает

double delayInSeconds2 = 0.1; 

     dispatch_time_t popTime2 = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds2 * NSEC_PER_SEC)); 
     dispatch_after(popTime2, dispatch_get_main_queue(), ^(void){ 


      self.otlTableRightView.frame=CGRectMake(100, 68, 300, 378); 
      [self.otlTableRightView setAlpha:0.0]; 
      [self.otlRightFromView addSubview:self.otlTableRightView]; 


      [UIView beginAnimations:nil context:nil]; 
      [UIView setAnimationDuration:1.2]; 

      self.otlTableRightView.frame=CGRectMake(43, 68, 300, 378); 

      [UIView commitAnimations]; 


      [UIView animateWithDuration:2.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
       [self.otlTableRightView setAlpha:0.0]; 
      }completion:^(BOOL done){ 

      }]; 

     }); 

и я использую

[self.otlTableRightView removeFromSuperview]; 

удалить мою таблицу с моей точки зрения к югу

ответ

0

После некоторого поиска, наконец, я нашел что-то, что работает в моем случае. Здесь otlTableRightView является отдушиной для моего UITableView

  self.otlTableRightView.alpha = 0; 
      [UIView beginAnimations:@"fade in" context:nil]; 
      [UIView setAnimationDuration:2.0]; 
      self.otlTableRightView.alpha = 1.0; 
      [UIView commitAnimations]; 
1

Если вы хотите повторить анимацию, вы не должны removeFromSuperview ваш под просмотр! Тогда весь метод повторения не имеет значения.

Вы можете также рассмотреть более простое решение для такого рода поведения:

[UIView animateWithDuration:0.5 
         delay:0.0 
        options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseInOut 
       animations:^{ 
        [self.otlTableRightView setAlpha:0.0]; 
       } 
       completion:^(BOOL done){ 
       [self.otlTableRightView setAlpha:2.0]; 
      }]; 

Как вы можете видеть в опции вы можете добавить несколько параметров.

+0

UIViewAnimationOptionCurveEaseInOut не работает, но две другие опции, которые вы упомянули правильно работает – Jasmeet

0

Чтобы удалить вид таблицы с эффектом затухания, попробуйте это ... Надеемся, что это будет работать.

> [UIView animateWithDuration:1.0 
>      delay:0.0 
>      options: UIViewAnimationOptionCurveEaseInOut 
>     animations:^{ 
>      [self.otlTableRightView setAlpha:0.0]; 
>     } 
>     completion:^(BOOL done){ 
>     [self.otlTableRightView removeFromSuperview]; 
>    }]; 

 Смежные вопросы

  • Нет связанных вопросов^_^