Anzeigen blockiert werden, durch UITransitionView nach vorgestellt
Ich habe eine Seite, navigation controller und präsentieren es über einen UIButton. Wenn ich dieses NC-root-view-controller direkt durch [self presentviewcontroller: NC animated: YES completion: nil]
, aus irgendeinem Grund die Menü-Seite des NC ist blockiert durch eine UITransitionView
dass ich nicht bekommen, um zu verschwinden.
Ich angehängt habe ein Bild von der . ist eine andere.
Ich habe versucht, die folgenden:
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];
}
}
}];
Aber es ist sehr hacky, und als rootviewcontroller des Fensters ändert sich während des übergangs, es ist ein wenig abgehackt und ein Teil der navigationcontroller und der oberen rechten Ecke schwarz. Es sieht sehr schlecht aus.
- Hast du die Ursache? Ich traf das gleiche Problem hier. Entfernen Sie die anzeigen oder deaktivieren Tippen Sie auf die Ansicht scheint wie eine Arbeit um Sie herum, aber wie können wir es vermeiden? Ich verstehe nicht, warum es kam.
- Es war so lange her, dass ich ' m nicht ganz sicher, aber ich glaube, dass ich komplett umgestellt Bibliotheken und ging mit JASidePannelController: github.com/gotosleep/JASidePanels Viel einfacher, mit zu arbeiten.
- Danke @jameson!
InformationsquelleAutor Jameson | 2016-03-21
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu erhalten, Tippen Sie auf Ereignisse durch die
UITransitionView
, legen Sie diecontainerView
'suserInteractionEnabled
zufalse
. Dies ist, wenn Sie tun eine übergangs-animation durch die Verwendung vonUIViewControllerAnimatedTransitioning
.Beispiel in Ihrer
animateTransition(_:)
:Ich hatte das gleiche Problem, aber in einem etwas anderen Szenario, ich endete damit, etwas sehr ähnliches zu finden, den Blick, sondern anstelle des Entfernens der Ansicht, die können Sie mehr problematische ich deaktiviert, der Benutzer-Interaktion, so alle touch-events gehen, nur werfen Sie und alle anderen Objekte behandeln können, um Benutzer-Interaktion.
In meinem Fall war dies erst nach der Aktualisierung der app für iOS-10, der gleiche code läuft in iOS 9 nicht fallen in diese.
War ich vor dem gleichen Problem, und dieses Problem für mich,
navigationController.setNavigationBarHidden(true, animated: false)
Dieser arbeitete für mich, wie ich bin mit benutzerdefinierte Ansicht als navigation bar view-Controller.
Ive hatte dieses Problem, wenn ich die Einstellung wurde accessibilityElements auf eine popover-view-controller. Ich es beheben, durch das entfernen der Zuweisung einer array-Elemente.