2013-05-11 32 views
0

请参见下面的代码。当动画中的帧被“改变”时,它被改变为实际单元的坐标系,而不是整个视图的坐标。所以(0,0)不是整个视图的原点。单元格在屏幕中间(GMGridView的一部分)。iOS UIView动画变化框架错误坐标系

我想要完成的事情: 我需要在整个视图中获取单元格的绝对位置,并从那里为整个视图的坐标系统中的framechange(调整大小并翻转)进行动画处理。然后回到单元格的“旧”绝对帧(按下按钮)。我通过按钮和代理工作正常,处理逻辑。唯一不起作用的是框架。

任何想法?

我试图得到绝对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

你好...谢谢您的回答,但内置在库中的代码是复杂的,我刚刚放弃了。所以我会保存你的答案。谢谢。 – 2013-05-11 17:25:52