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 将基于视图的应用程序转换为基于导航的应用程序_Iphone_Ipad_View_Uinavigationcontroller_Uinavigationbar - Fatal编程技术网

Iphone 将基于视图的应用程序转换为基于导航的应用程序

Iphone 将基于视图的应用程序转换为基于导航的应用程序,iphone,ipad,view,uinavigationcontroller,uinavigationbar,Iphone,Ipad,View,Uinavigationcontroller,Uinavigationbar,我是iPhone开发新手 我创建了简单的ViewBased应用程序,其中我有两个页面Licpage和PlanPage 我已将LicPage设置为didfishlaunchingwithoptions中的RootViewController 现在,当我单击LicPage中的按钮时,我将导航到PlanPage,但在我的PlanPage 我无法看到带有“后退”按钮的导航栏 注意:如果导航栏上有“后退”按钮,则无法手动拖动导航栏。因为当我添加第三页时,它也会导航到第二页(PlanPage)。当我单击“上

我是iPhone开发新手

我创建了简单的
ViewBased
应用程序,其中我有两个页面
Licpage
PlanPage
我已将
LicPage
设置为
didfishlaunchingwithoptions
中的RootViewController

现在,当我单击
LicPage
中的按钮时,我将导航到
PlanPage
,但在我的
PlanPage
我无法看到带有“后退”按钮的导航栏


注意:如果导航栏上有“后退”按钮,则无法手动拖动导航栏。因为当我添加第三页时,它也会导航到第二页(
PlanPage
)。当我单击“上一步”按钮时,我将进入第一页(
LicPage
),而不是第三页。

您需要在appDelegate类中创建NavigationController(删除viewController rootViewController)

在h中使用这个

@property (nonatomic, retain) UINavigationController *navigationController;
英寸

@synthesize navigationController
并将LicPage对象(objLicPage)设置为导航控制器的rootviewcontroller

self.navigationController.rootViewController = objLicPage;

[self.window addSubView:navigationController.view];

[self.window makeKeyAndVisible];
试试这个:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
   self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 

self.viewController = [[[LicAppViewController alloc] initWithNibName:@"LicAppViewController" bundle:nil] autorelease]; 

UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:self.viewController];
 [self.window addSubview:navigationController.view];
 [self.window makeKeyAndVisible];
  return YES; 
} 

你的意思是什么,因为当我添加第三页时,它也会导航到第二页(PlanPage)?你能解释一下你的导航吗?在第二页,我在后退按钮
-(iAction)后退:(id)发送者{[self dismissModalViewControllerAnimated:TRUE];}
但如果我从第3页访问第2页,当我点击后退按钮时,它会将我导航到第3页na,但是,由于上面的代码,它会将我导航到第一页。不,如果您要从第三页转到第二页,则在调用dismissModalViewController时,它不会转到第一页,因为dismissModalViewController只会关闭它不会导航的视图。还有一件事,您不应该在中将viewcontroller声明为rootviewcontrollerAppDelegate.按照Ishu的建议去做。chk你能发布你的屏幕截图吗?我删除了这行,就像你说的
UINavigationController*navigationController=[[UINavigationController alloc]initWithRootViewController:_viewController];[self.window addSubview:navigationController.view]当我编写代码时,它会向我显示属性
rootViewController
以前没有找到代码当你建议时,
-(BOOL)application:(UIApplication*)application didnishlaunchwithoptions:(NSDictionary*)launchOptions{self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]]autorelease];self.viewController=[[LicAppViewController alloc]initWithNibName:@“LicAppViewController”bundle:nil]autorelease];UINavigationController*navigationController=[[UINavigationController alloc]initWithRootViewController:_viewController];[self.window addSubview:navigationController.view];[self.window makeyindvisible];返回YES;}
在我编写
-(BOOL)应用程序之后:(UIApplication*)应用程序完成LaunchWithOptions:(NSDictionary*)launchOptions{self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]]自动删除];//在应用程序启动后覆盖自定义点。self.viewController=[[LicAppViewController alloc]initWithNibName:@“LicAppViewController”bundle:nil]autorelease];self.navigationController.rootViewController=_viewController;[self.windownavigationController.view];[self.window makeKeyAndVisible];return YES;}
我无法打开你的链接。请检查我的回复。希望它能解决你的问题,对我来说效果很好。在第一页你可以看到导航栏?你是如何推动第二页的?可以发布代码吗?我可以在第一页看到导航栏,点击btw,在第一页有一个btn,我正在导航到新的第二页,下面是代码,
-(void)PlanbtnClicked{PlanPage*\u planViewController=[[PlanPage alloc]initWithNibName:@“PlanPage”bundle:[NSBundle mainBundle]];[self.navigationController presentModalViewController:[U planViewController动画:TRUE]//[self.navigationController pushViewController:_planViewController动画:TRUE];[u planViewController发布];]
完成启动方法中的代码与您上面建议的相同。当您提到它不可见时,您应该提到它在第二页上不可见。否则其他人将如何知道它不可见的位置。您不应该使用presentModalViewController,而应该按如下方式推送您的viewController:SecondViewController*viewController=[[SecondViewController alloc]initWithNibName:@“SecondView”捆绑包:nil];[self.navigationController pushViewController:viewController动画:是];很抱歉给您带来不便,谢谢您的帮助。按照您的建议,pushviewcontroller可以正常工作,但根据要求,我必须使用
presentModalViewController
。如果您能帮助我,那就很好了。您的要求是什么,为什么您必须只使用presentModalViewController?