2011-08-21 129 views
0

我对编程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使用导航控制器,而我的根视图是一个简单的示意图。我背后的想法是,我可以得到“后退”按钮(尽管我不确定这是否是正确的方式,因为它们不是同一层次结构的一部分)。任何建议如何做到这一点将不胜感激!

回答

0

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

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

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

+0

感谢您指导我在正确的方向。我将它设置为“基于视图的应用程序”的错误。非常感谢! – arooo

0

要加载另一种观点认为,尝试

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

希望工程。 :)

+0

这确实可以帮助我加载新的视图,但我认为我已经把错误的整个事情放在首位。谢谢你,虽然! – arooo

相关问题