以下のコードを参照してください。アニメーションでフレームが「変更」されると、ビュー全体の座標ではなく、実際のセルの座標系に変更されます。したがって、(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) { }];