0
ユーザーがボタンを押したときにUIViewが画面の下からスライドするUINavigationControllerがあります。kCATransitionMoveInを使用してUIViewでスライドするときのグリッチ
ビューの「隠し」プロパティをNOに設定した直後に、UINavigationControllerのビューは、アニメーションが既に終了したように、1つのフレームに対して完全に表示されることがあります。
これは示している/ビューを隠しコードである:層はあなたがアニメーションを追加層から除去/追加されたとき
- (void)showGUI: (bool)show
{
CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
if (!show)
{
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
}
else
{
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
}
[navController.view.superview.layer addAnimation:transition forKey:nil];
navController.view.hidden = !show;
}
これは正しくありません。 – zrxq
この場合、非表示のトグルが機能しませんでした。理由を提示できませんでした。私のソリューションはうまくいき、コメントを更新しました。次回より建設的になるようにしてください。 – logancautrell
私はOPの問題は何もわかりませんでしたが、私の経験では 'hidden'は' Catransition'で完璧に動作しました。 – zrxq