是否可以将当前的 Modal ViewController 设为 UINavigationController?

Posted

技术标签:

【中文标题】是否可以将当前的 Modal ViewController 设为 UINavigationController?【英文标题】:Is it possible to make a presentModalViewController a UINavigation Controller? 【发布时间】:2011-04-25 04:46:26 【问题描述】:

我正在尝试在应用程序启动时创建一个 presentModalViewController。我可以让 presentModalViewController 正常运行,但是当我尝试将其设置为 UINavigation Controller 时,我看到的只是一个空白的 UINavigationController。

我的班级概览定义如下:

#import <UIKit/UIKit.h>
@class Login;

@interface Overview : UINavigationController 



-(IBAction) btnRegistrationPressed;
-(IBAction) btnLoginPressed;


@end

然后在委托中我这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions     

    // Override point for customization after application launch.

    // Add the tab bar controller's view to the window and display.
    [self.window addSubview:tabBarController.view];

    Overview *overviewViewController = [[Overview alloc] initWithNibName:@"Overview" bundle:nil];

    [self.tabBarController presentModalViewController:overviewViewController animated:YES];
    [overviewViewController release];
    [self.window makeKeyAndVisible];

    return YES;

我还有一个 Overview.xib,我在其中从库中拖入了一个 UiNavigation 控制器。下面的视图控制器被设置为一个名为 test 的类,该类将在屏幕上显示一条消息。

当我启动时,我看到的只是一个空白的 UINavigationController。

有什么想法吗?

【问题讨论】:

如果您指的是向上滑动动画,请尝试为您的模态视图设置延迟。 【参考方案1】:

你有没有像下面这样尝试过

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions     

// Override point for customization after application launch.

// Add the tab bar controller's view to the window and display.
[self.window addSubview:tabBarController.view];


Overview *overviewViewController = [[Overview alloc] initWithNibName:@"Overview" bundle:nil];

 UINavigationController *nav_obj = [[UINavigationController alloc] initWithRootViewController:overviewViewController ];

[self.tabBarController presentModalViewController:nav_obj  animated:YES];
[overviewViewController release];
[self.window makeKeyAndVisible];

return YES;

【讨论】:

以上是关于是否可以将当前的 Modal ViewController 设为 UINavigationController?的主要内容,如果未能解决你的问题,请参考以下文章

是否存在 Modal ViewController: 将视图控制器添加到堆栈中?

如何使用 React 将 Bootstrap Modal 的大小调整为自定义大小

如何编写单元测试以检查单击某个链接后是否显示模态

IOS的模态窗口(modal)

iOS Modal

easyui中data-options="modal:true,closed:true"是啥意识?