Frage

Ich bin nicht in der Lage jede Animation mit dem folgenden Code zu erreichen:

if (self.segmentControl.selectedSegmentIndex == 0) {
    [UIView transitionFromView:tableView
                        toView:mapView
                      duration:1.0
                       options:UIViewAnimationTransitionFlipFromLeft
                    completion:nil
         ];
    }
if (self.segmentControl.selectedSegmentIndex == 1) {
    [UIView transitionFromView:mapView
                        toView:tableView
                      duration:1.0
                       options:UIViewAnimationTransitionFlipFromRight
                    completion:nil
         ];
}

Die Ansichten tauschen tatsächlich, aber nur ohne Animation. Es ist ziemlich merkwürdig. Ich habe auch zu tauschen mapView und tableView mit self.view.subviews versucht, wie so (objectAtIndex:0 ist ein toolBar):

if (self.segmentControl.selectedSegmentIndex == 0) {
    [UIView transitionFromView:[self.view.subviews objectAtIndex:1]
                        toView:[self.view.subviews objectAtIndex:2]
                      duration:1.0
                       options:UIViewAnimationTransitionFlipFromLeft
                    completion:nil
         ];
    }
if (self.segmentControl.selectedSegmentIndex == 1) {
    [UIView transitionFromView:[self.view.subviews objectAtIndex:2]
                        toView:[self.view.subviews objectAtIndex:1]
                      duration:1.0
                       options:UIViewAnimationTransitionFlipFromRight
                    completion:nil
         ];
}
War es hilfreich?

Lösung

Sie benutzen die falschen Optionen. Mit dieser Methode sollten Sie die Konstanten UIViewAnimationOptionTransitionFlipFromLeft und …Right statt.

Die alten Konstanten UIViewAnimationTransitionFlipFromLeft und …Right dürfen nur für die nicht-blockbasierten Verfahren +setAnimationTransition:… verwendet werden. Diese Konstanten haben Werte 1 bzw. 2, während die, die ich oben erwähnt haben Werte 1 << 20 und 2 << 20, die völlig unterschiedlich sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top