0

请参阅下面的代码。当frame在动画中“改变”时,改变的是实际cell的坐标系,而不是整个view的坐标。所以 (0,0) 是单元格的原点而不是整个视图。单元格位于屏幕中间(GMGridView 的一部分)。

我要完成的工作:我需要在整个视图中获取单元格的绝对位置,然后从那里动画一个帧更改(通过翻转调整大小),它也在整个视图的坐标系中。然后改回单元格的“旧”绝对框架(按下按钮后)。我通过工作正常的按钮和委托处理了逻辑。唯一不起作用的是框架。

有任何想法吗?

我试图获得绝对的 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) { }];
4

1 回答 1

1

这会帮助你,

CGRect theFrame = CGRectMake(0, 0, myFullView.frame.size.width, myFullView.frame.size.height);
CGRect frameInSelfView = [self.view convertRect:theFrame fromView:cell];
于 2013-05-11T02:05:12.070 回答