我无法使用以下代码实现任何动画:
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
];
}
答案 0 :(得分:17)
您使用了错误的选项。使用此方法,您应该使用the constants UIViewAnimationOptionTransitionFlipFromLeft
and …Right
代替。
旧常量UIViewAnimationTransitionFlipFromLeft
和…Right
应仅用于非基于块的方法+setAnimationTransition:…
。这些常数分别具有值1和2,而我上面提到的那些常数具有值<&lt;&lt; 20和2&lt;&lt; 20,完全不同。