前面に送信し、ビューの中央にアニメーション化する必要がある UIImageViews の束を持つ ViewController があります。
UIViewアニメーションをキャストする前にbringSubviewToFrontを呼び出そうとしましたが、ビューがスタックの一番上に送信されたように見えますが、アニメーションは発生しません(完了ハンドラーログにはアニメーションDIDが発生したように表示されますが) )。
アニメーションをトリガーするボタンを2回目に押します(今回はビューがすでにトップインデックスにあることを考慮して、アニメーションは正常に行われます)
私のコードは次のとおりです。
- (void)beginAnimationWithSelectedCountry:(UIView *)countryView
{
if (!countryView) return;
[self.view bringSubviewToFront:countryView];
[UIView animateWithDuration:0.6f delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
countryView.center = CGPointMake(self.view.center.x, self.view.center.y);
} completion:^(BOOL finished) {
NSLog(@"Animation complete");
}];
}
何かご意見は?私は何時間もこれにいました >.<
ありがとう
編集:私がbringSubviewToFrontをコメントアウトすると、コードはアニメーションで問題なく実行されます(ビューが他のビューの下にあることを除いて)ので、問題は次の行にあると確信しています:
[self.view bringSubviewToFront:countryView];
私が現在持っているもののスクリーンショットを次に示します。これにより、問題がさらに明らかになる可能性があり ます。