UIViewController presentModalViewController:动画:什么都不做?

时间:2010-04-18 15:29:11

标签: iphone cocoa-touch uiviewcontroller

我最近使用Apple的Utility Application示例项目启动了一个项目。在示例项目中,有一个显示FlipSideView实例的信息按钮。如果你知道Weather.app,你知道按钮的作用是什么。

然后我将MainWindow.xib更改为在窗口中间包含一个滚动视图,在窗口底部包含一个页面控制视图(再次,如Weather.app)。 scrollview充满了MainView的实例。当我单击信息按钮时,FlipSideView将显示,但仅在以前由MainView实例填充的区域中显示 - 这意味着当FlipSideView实例加载时页面底部的页面控制视图仍然显示。

所以,我认为我只是为最顶层的窗口添加一个UIViewController,这是在与项目一起创建的AppDelegate中声明的窗口。因此,我创建了一个UIViewController的子类,将它的一个实例放在MainWindow.xib中,并将它的视图出口连接到在应用委托中声明为窗口的UIWindow。我还更改了按钮的动作,以便它知道向MainWindowController实例发送消息。消息确实已发送(我使用NSLog()语句检查),但FlipSideView未显示。这是相关的(?)代码:

FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
controller.delegate = self;

controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];

[controller release];

为什么这不能在MainWindowController内部工作,但完全相同的代码在MainViewController内部工作?我上传了整个项目here,以便您能够看到整个项目。

感谢您的帮助!

- Ry

编辑:我认为这可能与我将UIViewController的视图插件附加到UIWindow实例有关。我现在将它连接到UIView,它运行得非常好。

1 个答案:

答案 0 :(得分:2)

为了记录,答案已添加到问题中。莱伊斯特说:

  

我认为这可能与我有关   附加UIViewController的视图   UIWindow实例的出口。我现在   将它连接到UIView,就是这样   工作得很好。