2013-05-11 2 views
0

아래 코드를 참조하십시오. 애니메이션에서 프레임이 "변경"되면 전체 뷰의 좌표가 아닌 실제 셀의 좌표계로 변경됩니다. 그래서 (0,0)은 전체보기가 아닌 셀의 원점입니다. 셀이 화면 중간에 있습니다 (GMGridView의 일부).iOS UIView 애니메이션 changeFrame 잘못된 좌표계 ​​

무엇을 달성하려하는지 : 전체보기에서 셀의 절대 위치를 가져와 전체보기의 좌표계에있는 프레임 변경 (플립 크기 조정)을 애니메이션화해야합니다. (버튼을 누르면) 셀의 "이전"절대 프레임으로 되돌아갑니다. 버튼과 대리자를 통해 로직이 처리되었으므로 정상적으로 작동합니다. 작동하지 않는 유일한 방법은 프레이밍입니다.

아이디어가 있으십니까?

나는 절대 frameInMainWindow를 얻으려고 노력했지만 그럴 권리는 없다. 행운이없는 clipToBounds로 게임을 시도했습니다. 그리고 도움이되지 않은 다른 물건들.

아무에게도 위의 작업을 수행하는 방법에 대한 아이디어가 있습니까?

도움을 주시면 감사하겠습니다. 이것은 당신을 도울 것입니다

cell.contentView.contentMode = UIViewContentModeRedraw; 
[UIView transitionWithView:cell.contentView duration:2 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       animations: ^{    
cell.contentView.frame = CGRectMake(0, 
           0, 
           myFullView.frame.size.width, 
           myFullView.frame.size.height); 
        [cell.contentView addSubview:myFullView];      
        [gmGridView bringSubviewToFront:cell];} 
       completion: ^(BOOL finished) { }]; 

답변

1

,

CGRect theFrame = CGRectMake(0, 0, myFullView.frame.size.width, myFullView.frame.size.height); 
CGRect frameInSelfView = [self.view convertRect:theFrame fromView:cell]; 
+0

안녕하세요 ... 답변 주셔서 감사합니다,하지만이 라이브러리의 코드에 내장은 복잡하고 난 그냥 포기. 그래서 나는 당신의 대답을 구할 것입니다. 감사. –