【发布时间】:2010-10-10 16:40:24
【问题描述】:
我发现自己需要从视图访问视图控制器。
方法如下
-(void)changePageView:(UIViewController*)newviewcont withtransitiontype:(int)t andtransitionspeed:(int)s
{
//Remove whatever view is currently loaded at index 0, this index is only to be used by "page" views
UIView *oldview = [self.view.subviews objectAtIndex:0];
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:s];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
[newviewcont viewWillAppear:YES];
//[oldview viewWillDisappear:YES];
[oldview removeFromSuperview];
[self.view insertSubview:newviewcont.view atIndex:0];
//[oldview viewDidDisappear:YES];
[newviewcont viewDidAppear:YES];
}
基本上,我正在尝试编写一个由根控制器调用的通用视图切换方法,以从根控制器视图中换出 subviewcontorllers 视图。
我传入了一个 subviewcontroller 并能够删除当前的子视图。但是为了做正确的视图切换动画,我需要访问当前视图视图控制器。这是错误的方法吗?可以做到吗?
【问题讨论】:
标签: ios objective-c cocoa cocoa-touch