1

다음은 내 코드입니다. 하위보기에 테이블을 추가하는 동안 약간의 페이드 효과를 표시하는 데 사용됩니다. 문제는 코드가 처음으로 작동한다는 것입니다. 테이블을 추가 한 후, 내가 닫을 때 하위보기 단추 테이블이 제거됩니다. 내가 하위 뷰를 다시 테이블을 추가하는 버튼을 누르면 때 페이드 효과는반복 페이드 효과가 작동하지 않습니다.

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는 제대로 작동 언급 작동하지 않는 내 jQuery과

  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]; 
>    }]; 
관련 문제