我正在使用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/

10-10 20:42