我正在使用TTLauncherView,为此,我将 View Controller 声明为TTViewController,就像在TTCatalog教程应用程序中一样。在该 View 内声明一个TTLauncherView var,添加项,依此类推。
在我的应用程序的主 View 中,有一个按钮使用以下代码调用前一个 View :
-(void) switchToButtonOrderingView
{
ButtonOrderingViewController *ButtonOrderingView=
[[ButtonOrderingViewController alloc] initWithNibName:@"ButtonOrderingViewController" bundle:nil];
self.ButtonOrderingViewController = ButtonOrderingView;
[self.view insertSubview:ButtonOrderingView.view atIndex:10];
}
当我按下按钮时,应用程序会以属于TTViewController.m的此方法刹车:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
UIViewController* popup = [self popupViewController]; //brakes up here
if (popup) {
return [popup shouldAutorotateToInterfaceOrientation:interfaceOrientation];
} else {
return [super shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
}
错误是这样的:
检查以查看Three20类层次结构,并且TTViewController是UIViewController子类。
popupViewController是一个TTPopViewController(及其子类)方法!我没有使用过的,也没有TTCatalog教程应用程序。我迷路了。任何帮助将不胜感激。
谢谢。
最佳答案
发生了同样的问题并发现了错误!
当您忘记根据Three20设置说明将-ObjC和/或-all_load添加到其他链接器标志时,会发生这种情况。可能是您将它们添加到了项目级别,并在较低级别进行了覆盖设置-对我而言就是这种情况。
关于iphone - TTViewController和popupViewController方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2139534/