2014-11-26 3 views
10

UIEffectView를 확장하고 축소하는 데 문제가 있습니다. 그것은 잘 확장되지만 계약을 체결하면 즉시 최종 높이에 스냅되고 위치에 미끄러 져 가며 희미한 진동 효과가 남습니다. 문제를 설명하기 위해 gif를 사용합니다. http://i.imgur.com/Lh8q7m1.gifUIVisualEffectView 흐림 구속 조건 애니메이션 버그

project layout

이 그래서 비어있는 새 프로젝트 설정에서 발생 : 나는 당신이 생각

- (IBAction)toggleEffects:(id)sender { 
[self.view setNeedsLayout]; 

if(self._effectsHeight.constant == 50){ 
    self._effectsHeight.constant = 500; 
}else{ 
    self._effectsHeight.constant = 50; 
} 
[UIView animateWithDuration:1.5f 
       animations:^{ 
        [self.view layoutIfNeeded]; 
       }]; 

}

+0

나는 똑같은 것을보고 있습니다. 나에게 벌레 같아. Apple Bug Reporter에 버그를 제출했습니다. # 19187042 –

+0

마스킹보기의 하위보기로 효과보기를 추가하여 문제를 해결할 수있었습니다. 효과 뷰는 애니메이션의 끝을 높이려는 전체 높이와 마스킹 뷰의 높이를 애니메이션 처리하여 아래의 효과 뷰를 표시하도록 설정됩니다. –

+0

프레임을 검사하고 다른 GIF를 게시하려면보기 주위에 테두리를 추가 할 수 있습니까? – wczekalski

답변

2

: 여기 project layout

애니메이션 코드 애니메이션 블록 안에 크기 조정 코드를 설정해야합니다. 이 방법을 사용해보십시오 :

[UIView animateWithDuration:1.5f 
       animations:^{ 
        if(self._effectsHeight.constant == 50){ 
         self._effectsHeight.constant = 500; 
        }else{ 
         self._effectsHeight.constant = 50; 
          } 
       }]; 
+0

와우, 그게 사실 문제를 해결 .. 감사합니다 –

+0

나를 위해 작동하지 않았다 :(그리고 당신은 전화해야 [self.view layoutIfNeeded], 애니메이션 블록 – surfrider

관련 문제