Ich möchte die Navigationsleiste langsamer als üblich ausblenden.Ändern Animationsdauer
ich folgende versucht, aber wenn versteckt, verschwindet es sofort statt Animieren aus (die Ansicht unten richtig funktioniert animieren up):
[UIView beginAnimations:@"hideNavBar" context:nil];
[UIView setAnimationDuration:2.0];
[self.navigationController setNavigationBarHidden:value];
[UIView commitAnimations];
Wenn ich Ersatz:
[self.navigationController setNavigationBarHidden:value animated:YES];
es dann verwendet die übliche Dauer anstelle meiner langsamen Version. Hmmm.
Ich habe sogar versucht, wirklich schlau zu bekommen und zu tun:
CGFloat *durationRef = &UINavigationControllerHideShowBarDuration;
CGFloat oldDuration = *durationRef;
*durationRef = 2.0;
[self.navigationController setNavigationBarHidden:value animated:YES];
*durationRef = oldDuration;
, die in einer EXE über die Zuordnung _ _ BAD ACCESS geführt. Irgendwelche Ideen?
Am Ende verwenden kann ich entschieden, dass UINavController reimplemebting die kleinen Gewinn in Eleganz nicht wert war. Danke für die Antwort. –
Ich glaube nicht, dass das funktioniert. –
Warum nicht? Sie können immer die Ebenen auf dem Bildschirm auswählen und Animationen hinzufügen. Als Referenz habe ich dies während des Experimentierens gemacht, aber ich habe nie Produktionscode geliefert, der dies tut. –