你好,我正在使用这段代码来显示翻转动画......我有一个带有scrollview的uiview(启用分页)...所以它显示了一个像页面的视图...现在我也做了翻转动画使用此代码....
-(void)flipView
{
flashCardAnswerController *flashCardAnswerControllerobj = [[flashCardAnswerController alloc] initWithNibName:@"FlashCardAnswerView" bundle:[NSBundle mainBundle]];
[flashCardAnswerControllerobj.view setFrame:[[self view] frame]];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.60];// Sub. duration
UIView *superview;
if ((superview = [[self view] superview])) {
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:superview cache:YES];
[superview addSubview:[flashCardAnswerControllerobj view]];
}
[UIView commitAnimations];
}
所以根据代码将新视图添加到scrollview..i还设法在翻转时释放新视图...但是如果我直接按下navigaion控制器上的后退按钮...翻转侧视图赢了发布。我在我的scrolleview类的dealloc方法中尝试了这个但是它不起作用
for(UIView *subview in [scrollView subviews]) {
[subview removeFromSuperview];
}
如何删除翻转视图的视图数量非常多...约。 48加48个侧面视图如此绝对,它将在设备上产生内存问题......
也可以有人告诉我一种在翻转侧视图中禁用NavigationBar后退按钮的方法...而不创建scolling类的对象。答案 0 :(得分:1)
我没有直接回答你的问题,但我可以说这是旧的iPhone OS 2.x显示视图的方式。
在iPhone OS 3.0中,您应该使用presentModalViewController:animated:
代替。代码要少得多,你在问题中描述的所有问题都会消失。
这个想法是当前视图的反面,由您以模态方式显示的单独UIViewController
管理。但是除了2.0的滑动动画之外,您还可以通过水平翻转使新的视图控制器进出动画。
self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:flipSideController
animated:YES];
答案 1 :(得分:0)
[[scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]