Ios 按下按钮时切换视图
我想在按下按钮时更改视图。 在根视图.h中,我有:Ios 按下按钮时切换视图,ios,view,uibutton,Ios,View,Uibutton,我想在按下按钮时更改视图。 在根视图.h中,我有: @interface MainViewController : UIViewController -(IBAction)switchToMap; @end -(IBAction)switchToMap { CustomViewController *customViewController = [[CustomViewController alloc] initWithNibName:@"CustomViewController"
@interface MainViewController : UIViewController
-(IBAction)switchToMap;
@end
-(IBAction)switchToMap
{
CustomViewController *customViewController = [[CustomViewController alloc] initWithNibName:@"CustomViewController" bundle:nil];
customViewController.title = @"Mappa";
[self.navigationController pushViewController:customViewController animated:YES];
//[self.view addSubview:customViewController.view];
}
在.m中,我有:
@interface MainViewController : UIViewController
-(IBAction)switchToMap;
@end
-(IBAction)switchToMap
{
CustomViewController *customViewController = [[CustomViewController alloc] initWithNibName:@"CustomViewController" bundle:nil];
customViewController.title = @"Mappa";
[self.navigationController pushViewController:customViewController animated:YES];
//[self.view addSubview:customViewController.view];
}
代码不起作用,但是如果我使用第二种方法
[self.view addSubview:customViewController.view]代码>工作,我不知道为什么。这是因为您没有UINavigationController
作为您的rootViewController
AppDelegate.m
UINavigationController *navigation=[[UINavigationController alloc] initWithRootViewController:mainVC];
self.window.rootViewController=navigation;
尝试这样做:
ViewController *CustomViewController = [[ViewController alloc] init];
[self presentViewController:CustomViewController animated:YES completion:nil];
确保navigationController中的MainViewController与IniItWithRootViewControllerb一起使用,因为没有可用的导航控制器,而不是将视图显示为模式视图,这将起作用为您的答案提供一些解释可能会使OP和其他人受益