通过按钮将一个视图链接到另一个视图

我对iOS的编程有点新意,我在通过按钮将一个视图链接到另一个视图时遇到了一些麻烦。 我只是创建了一个简单的小应用程序,它在NSDate上进行一些计算,试图学习XCode和iOS编程。

我已经搜索过这一点了,我已经尝试从其他示例中学习但是我无法将视图显示出来,当我按下按钮时没有任何反应(我已经检查过链接到按钮)。

我一直无法理解视图编程,所以请耐心等待。

这是我的按钮代码:

-(IBAction)resultsPressed { TimeResults *timeResults; timeResults = [[TimeResults alloc] initWithNibName:@"TimeResults" bundle:nil]; [self.navigationController pushViewController:timeResults animated:YES]; [timeResults release]; } 

如果重要的话,TimeResults.xib正在使用导航控制器,而我的根视图只是一个视图。 我这背后的想法是,我可以得到“后退”按钮(虽然我不确定这是否是正确的方法,因为它们不是同一层次结构的一部分)。 任何关于如何做到这一点的建议将不胜感激!

您发布的代码似乎没有任何问题,但您应该将导航控制器与第一个笔尖关联,因为当将新视图推入堆栈时,默认情况下将显示后退按钮。

此外,请确保在AppDelegate正确设置Navigation Controller 。 如果您启动一个新项目并选择“基于导航的应用程序”,则可以看到执行此操作的正确方法。 如果您使用新项目作为示例向您展示如何正确设置旧项目,则必须确保也正确设置了nib 。 我建议使用新项目 ,将其作为UIViewController而不是UITableViewController挂钩,然后将代码从旧项目移动到新项目。

最后,确保始终导入要推送到的UIViewController.h文件。 希望有所帮助!

要加载另一个视图,请尝试

 AppDelegate *delegate = [[UIApplication sharedApplication] delegate]; TimeResults *timeResults = [[TimeResults alloc] initWithNibName:@"TimeResults" bundle:nil]; [delegate.window setRootViewController:timeResults]; 

希望它有效。 🙂