내 윈도우의 크기에 따라 두 개의 레이아웃 중 하나에 넣는 NSView가 있습니다.resizeSubviewsWithOldSize 호출 중에 애니메이터 프록시에서 Core Animation을 트리거하는 방법은 무엇입니까?
관련 superview가 resizeSubviewsWithOldSize 메소드를 수신하면 레이아웃을 조정합니다.
이 방법이 효과적이지만 변경 사항을 적용하고 싶습니다. 그래서 자연스럽게 새로운 프레임을 설정할 때 애니메이터 프록시 호출을 시도했지만 사용자가 여전히 드래그하는 동안 애니메이션이 실행되지 않습니다. 애니메이션이 끝나기 전에 마우스를 놓으면 애니메이션의 끝 부분을 볼 수 있지만 그때까지는 아무것도 볼 수 없습니다. kCATransactionDisableActions가 NO로 설정되었는지 확인하려고 시도했지만 도움이되지 않았습니다.
새 애니메이션을 시작하고 실제로 크기를 조정하는 동안 애니메이션을 실행할 수 있습니까?
정당하게 생각하면 이러한 의견은 제 상황에는 적용되지 않습니다. 나는 두 개의 알려진 주 사이를 이동 중입니다. 사용 가능한 공간에 따라 두 가지 간단한 레이아웃 옵션. 상호 작용은 하나에서 다른 것으로 "뛰어 넘기"만하면 좋지만 움직일 수있는 경우 덜 거슬 릴 것입니다. –
NSCollectionView는이 작업을 수행하므로 가치가 있습니다 (IconCollection 샘플 코드에서 작동 함). 그들은 분명히 끌기를 멈춘 "조용한 기간"을 기다립니다. 비슷한 클래스를 작성하려고 시도했지만 크기를 조정하는 동안 애니메이션을 일관되고 적절하게 실행하는 것은 매우 어렵습니다. –