对象很新。
我做了一个简单的MainViewController,从xib加载它的视图。 (来自标准的单一视图模板)
在主视图上是一个按钮,可以将我带到另一个视图。以下是方法:
-(IBAction)forward:(id)sender
{
tvc = [[TrackViewController alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
[self.view addSubview:tvc.view];
}
在另一个视图上(也是从xib加载)我有一个按钮可以带我回到主视图。
这是我返回主视图的IBAction:
-(IBAction) back:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
但是它不会返回主视图。不是popToRootViewControllerAnimated:要么。
任何回复都将不胜感激!
答案 0 :(得分:1)
当您不使用UINavigationBar
时,此答案适用在“前进”按钮中,您需要编写。
TrackViewController *lf = [[TrackViewController alloc]initWithNibName:@"TrackViewController" bundle:nil];
[self presentViewController:TVC animated:YES completion:nil];
并且在Backward屏幕中你应该是对的。
[self dismissViewControllerAnimated:NO completion:nil];
答案 1 :(得分:0)
您应该在MainViewController
中加载AppDelegate
UINavigationController
MainViewController *mainVC = ...
UINavigationController *naviVC = [[UINavigationController alloc] initWithRootViewController:mainVC];
self.window.rootViewController = naviVC;
然后您可以在MainViewController中继续前进:
-(IBAction)forward:(id)sender;
{
tvc = [[TrackViewController alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:tvc animated:YES];
}
然后返回其他ViewController:
-(IBAction) back:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
答案 2 :(得分:0)
如果您的MainViewController在UINavigationController中,那么forward
方法应如下所示:
-(IBAction)forward:(id)sender
{
tvc = [[TrackViewController alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:tvc animated:TRUE];
}