Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 什么';我使用UINavigationController有什么问题吗?_Iphone_Ios_Uinavigationcontroller - Fatal编程技术网

Iphone 什么';我使用UINavigationController有什么问题吗?

Iphone 什么';我使用UINavigationController有什么问题吗?,iphone,ios,uinavigationcontroller,Iphone,Ios,Uinavigationcontroller,我想在我的应用程序中使用UINavigationController,我的用法如下: 1) 在我的root视图的.h文件中,我声明了一个导航控制器: UINavigationController *navController; 2) 在我的根视图的.m文件中,我通过(在viewDidLoad中)初始化navController: 3) 在我的root视图的.m文件中,我添加了一个处理程序来处理按钮单击事件,并在事件处理程序中尝试通过以下方式呈现另一个视图: WBSDKTimelineViewC

我想在我的应用程序中使用
UINavigationController
,我的用法如下:

1) 在我的root
视图
的.h文件中,我声明了一个
导航控制器

UINavigationController *navController;
2) 在我的根视图的.m文件中,我通过(在
viewDidLoad
中)初始化
navController

3) 在我的root
视图
的.m文件中,我添加了一个处理程序来处理按钮单击事件,并在事件处理程序中尝试通过以下方式呈现另一个视图:

WBSDKTimelineViewController *controller = [[WBSDKTimelineViewController alloc] initWithAppKey:kWBSDKDemoAppKey appSecret:kWBSDKDemoAppSecret];
[navController pushViewController:controller animated:YES];

之后,
视图
没有出现在屏幕上,什么也没有发生,我确信我的代码已经执行,我的用法有什么问题?谢谢。

您需要在AppDelegate.m中定义UINavigationController,如下所示

 MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
 self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
 self.window.rootViewController = self.navigationController;

root用户的视图控制器应该已经包装在
UINavigationController
中。然后,
UIViewController
有一个属性
navigationController
来访问此
UINavigationController
,并将其他视图控制器推/弹出到堆栈中

 MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
 self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
 self.window.rootViewController = self.navigationController;