TTViewController和popupViewController方法

时间:2010-01-26 13:15:07

标签: iphone uiviewcontroller three20

我正在使用TTLauncherView,为此,我将视图控制器声明为TTViewController,就像在TTCatalog教程应用程序中一样。在该视图中声明TTLauncherView var,添加项目等等。

在我的应用程序的主视图中是一个按钮,使用以下代码调用上一个视图:

-(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];
  }
}

错误就是这样:

  

[ButtonOrderingViewController popupViewController]:无法识别的选择器发送到实例

选中查看Three20 Class Hierarchy和TTViewController是一个UIViewController子类。

popupViewController是一个TTPopViewController(及其子类)方法!我没有使用TTCatalog教程应用程序。我迷路了。任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:8)

有同样的问题并发现了错误!

当您忘记根据Three20设置说明将-ObjC和/或-all_load添加到其他链接器标志时会发生这种情况。可能是你将它们添加到项目级别,并在较低级别具有覆盖设置 - 对我来说就是这种情况。