【发布时间】:2012-01-18 16:03:56
【问题描述】:
我的情况是我有一个包含UIButton 的主视图控制器(PrimaryViewController.h .m 中的UIViewController)。按下时,会显示第二个 View Controller (UINavigationController),一般的想法是按下“设置”按钮,然后弹出导航视图并允许用户修改其设置。
我已经能够做到这一点,但我对我的方法并不完全有信心。在主视图控制器中,我添加了一个导航控制器并将其链接为主控制器内的插座。然后当按下按钮时,函数showSettings被调用:
- (IBAction)showSettings {
[self presentModalViewController:navigationViewController animated:YES];
}
类似地调用 hideSettings 来关闭。虽然这确实有效,但我不确定我是否以最好或正确的方式做到了这一点。我之前曾尝试在 MainWindow.xib 中创建导航控制器并将其与 App Delegate 链接,但是我遇到了一个问题,我需要在 PrimaryViewController.m 实现文件中调用/显示此控制器并且无法解决如何做到这一点(即如何在 App Delegate 类之外执行[super addSubview:];)。
我可以使用我现在拥有的,但想知道执行此操作的替代方法,主要是因为我对模态视图控制器的过渡动画不满意,而宁愿使用翻转动画。
提前致谢!
【问题讨论】:
-
对,我不使用
presentModalViewController,而是使用addSubview:navigationViewController.view。这行得通,但奇怪的是视图被放置在主窗口下方约 20 像素处,我可以看到它下面的视图。 -
不得不在 Interface Builder 中调整框架并将布局设置为“想要全屏”。
标签: iphone objective-c ios uinavigationcontroller