Вопрос

Я не могу добиться любой анимации со следующим кодом:

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
         ];
}

Виды фактически заменяют, но просто без какой-либо анимации. Это довольно странно. Я также пытался поменять mapView и tableView с self.view.subviews вот так (objectAtIndex:0 это 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
         ];
}
Это было полезно?

Решение

Вы используете неправильные варианты. С помощью этого метода вы должны использовать Константы UIViewAnimationВариантTransitionFlipFromLeft и …Right вместо.

Старые константы UIViewAnimationTransitionFlipFromLeft и …Right следует использовать только для неблок на основе метода +setAnimationTransition:…. Отказ Эти константы имеют значения 1 и 2 соответственно, в то время как они упомянули выше, имеют значения 1 << 20 и 2 << 20, которые полностью отличаются.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top