UIView animation block not animation view's subviews
I am unable to achieve any animation with the following code:
if (self.segmentControl.selectedSegmentIndex == 0) {
[UIView transitionFromView:tableVi开发者_开发问答ew
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
];
}
The views are actually swapping, but just without any animation. It's quite strange. I have also tried to swap mapView and tableView with self.view.subviews like so (objectAtIndex:0 is a 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
];
}
You are using the wrong options. With this method, you should use the constants UIViewAnimationOptionTransitionFlipFromLeft and …Right instead.
The old constants UIViewAnimationTransitionFlipFromLeft and …Right should only be used for the non-block-based method +setAnimationTransition:…. These constants have values 1 and 2 respectively, while the ones I mentioned above have values 1 << 20 and 2 << 20, which are totally different.
加载中,请稍侯......
精彩评论