Ich habe eine UInavigationController in meiner App. Meine Frage ist, wie man den backgroundView erstellt, wenn man einen viewController den Blick auf die aktuelle Szene schiebt. Die Standardeinstellung ist ein schwarzer Bildschirm. Ich möchte etwas erreichen, das Modally über den aktuellen Kontext innerhalb eines UINavigationControllers präsentiert.Ändern Hintergrund beim Drücken in UI Navigation Controller
Antwort
Lässt Sie sagen von View Controller A gehen etwas wie wenn man einen Screenshot der Hintergrundansicht eines Rechts auf View-Controller B.
Sie könnten versuchen, bevor Sie B mit Navigation Controller drücken.
Dann übergeben Sie dieses Bild, um Controller B anzuzeigen und es als Hintergrundbild einzurichten. Wenn Sie auch die gleiche Animation wie einen View-Controller modal präsentieren möchten, müssen Sie benutzerdefinierte Navigation Controller-Animation verwenden und einrichten.
Edit: Wenn alles, was Sie tun wollten die gleiche feste Farbe zeigen auf B wie die von A. Setzen Sie einfach die Hintergrundfarbe von B auf die von A und fügen Sie eine benutzerdefinierte Navigation-Controller Animation
Für die Animation , Sie müssen den View Controller als Delegierten des navigationControllers festlegen. Dann müssen Sie die folgende Delegiertenfunktion hinzufügen:
-(id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC
{
return [[Slide alloc] init];
}
Dann geben Sie die Klasse zurück, die Sie erstellen, um die Animation zu implementieren. Sie müssen die Klasse machen Sie mit dem <UIViewControllerAnimatedTransitioning>
Protokoll machen entsprechen
Die Klasse haben die folgenden zwei Delegierte Funktionen-
- (NSTimeInterval)transitionDuration:(id <UIViewControllerContextTransitioning>)transitionContext{
return 0.4f;
}
- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext{
UIViewController* toController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIViewController* fromController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIView* container = [transitionContext containerView];
[container addSubview:toController.view];
[UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{
//set frame to be out of screen bounds here
} completion:^(BOOL finished) {
[fromController.view removeFromSuperview];
[transitionContext completeTransition:finished];
}];
}
- 1. Ändern Navigation Controller Farbe swift
- 2. Android Ändern Navigation Ansicht Menü Hintergrund
- 3. Erstellen Navigation Controller innerhalb Ansicht
- 4. Navigation Controller Push-View-Controller-
- 5. Navigationsleiste deckt meine Inhalte beim Drücken auf einen View Controller
- 6. Onsen-UI Swipe Navigation
- 7. Problem beim Drücken mehrerer View-Controller in einem Codeblock
- 8. ändern Navigation bar Hintergrund mit meinem eigenen Bild
- 9. Angular-UI-Router: Stopp des Controllers beim Zurückladen beim Drücken der Zurück-Taste im Browser
- 10. , wie mobile-Winkel-ui "ui-Zustand" von Controller-Code ändern
- 11. Navigation View-Controller Frage
- 12. Navigation Controller funktioniert nicht
- 13. Gap on Navigation Controller
- 14. Navigation Controller Absturz App
- 15. Navigation zwischen View-Controller
- 16. Ändern des Stils in Textansicht in einer Listenansichtszeile beim Drücken
- 17. Änderung RootViewController to Navigation Controller
- 18. Navigation und Tab-Leiste fehlt beim Anzeigen von View-Controller
- 19. Navigation Controller benutzerdefinierte Übergang Animation
- 20. C# Hintergrund-UI-Update
- 21. iOS-Statusleiste - View Controller zu Navigation Controller
- 22. WordPress navbar Hintergrund ändern beim Scrollen
- 23. storyboard navigation controller ohne tableview controller
- 24. Ändern Sie die Schaltfläche Stil beim Drücken in Reagieren Native
- 25. semantic-ui Suche folgenden Link beim Drücken "Enter"
- 26. Ändern Haupttitel Farbe der Navigation in MFMailComposeViewController
- 27. Onsen UI Sliding-Menü mit Navigation kombinieren
- 28. Tab-Bar-Controller und segue Navigation
- 29. Mehrere Hierarchieebenen mit Navigation Controller
- 30. Modal View mit Navigation Controller
Dank zu implementieren, können Sie eine schnelle Version zur Verfügung stellen für Sie antworten? Auch wie man das aufgenommene Bild weitergibt? – user2232305
Richten Sie eine starke UIImage-Eigenschaft in der Header-Datei in Ziel C ein. Wenn Sie den Code für den Push-View-Controller B schreiben, müssen Sie nur schreiben ViewControllerB.image = yourImage; Tut mir leid, ich bin nicht so vertraut mit swift und wird wahrscheinlich am Ende irreführen. Ich habe dir bereits gesagt, wie man es macht, Ziel C, du solltest in der Lage sein, eine Idee zu bekommen und es schnell zu tun. – Rikh