サイドナビゲーションコントローラがあり、UIButton経由で表示しています。このNCをルートビューコントローラに直接[self presentviewcontroller: NC animated: YES completion: nil]
で作成すると、何らかの理由でNCのメニュー側がブロックされ、私が消えることができないUITransitionView
でブロックされます。UITransitionViewが表示された後でブロックされているビュー
私は次のことを試してみました:
UIWindow *window = [(AppDelegate *)[[UIApplication sharedApplication] delegate] window];
window.backgroundColor = kmain;
CATransition* transition = [CATransition animation];
transition.duration = .5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromTop;
[nc.view.layer addAnimation:transition forKey:kCATransition];
[UIView transitionWithView:window
duration:0.5
options:UIViewAnimationOptionTransitionNone
animations:^{ window.rootViewController = nc; }
completion:^(BOOL finished) {
for (UIView *subview in window.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UITransitionView")]) {
[subview removeFromSuperview];
}
}
}];
しかし、それは非常にハックされ、移行中のウィンドウの変更のrootviewcontrollerとして、それは少し途切れ途切れとnavigationcontrollerと右上のターンの一部です黒。それは非常に悪く見えます。
があなたをしました根本原因を見つけますか?私はここで同じ問題に出会った。ビューを削除するか、ビューのタッチを無効にすることは回避策のようですが、どのように回避するのですか?なぜ起こったのか分かりません。 – RainCast
私はそれほど前にはわかりませんでしたが、私はライブラリを完全に切り替え、JASidePannelControllerと一緒に行ったと思います。 https://github.com/gotosleep/JASidePanels 非常に扱いやすくなりました。 – Jameson
ありがとう@ジャメオン! – RainCast