我曾经使用过UINavigationController。我创建它作为一个单身,并静态访问它,所以我可以轻松地推动和弹出控制器(theres一个合理的好教程here)。这是相当轻量级的,并且有足够的文档可以快速完成。
但是我使用的最好的方法是框架的TTNavigator Three20。简而言之它是一种加强了UINavigator,可以让你把一个新的视图在屏幕上通过调用内部URL:
//(In your app delegate)
//Start up the navigator
TTNavigator* navigator = [TTNavigator navigator];
navigator.persistenceMode = TTNavigatorPersistenceModeTop;
//Map url's to controllers
TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"ac://search" toViewController:[SearchViewController class]];
[map from:@"ac://results/(initToView:)" toViewController:[ResultsViewController class]];
然后导航到一个控制器:
[[TTNavigator navigator] openURLAction:[[TTURLAction actionWithURLPath:@"ac://results/searchResults/"] applyAnimated:YES]];
请告诉我还酷的是,像我们在映射器中定义的那样,调用@“ac:// results /”我们上面的方式将param @“searchResults”传递给了ResultsViewController的init方法(“initToView:”)
All best !
来源
2011-03-03 01:37:49
Sig
IMO,这三个东西看起来很有希望,但它仍然看起来非常不稳定,它是苹果优秀框架的出发/重新发明,它记录不完全(与苹果相比),并且还有很多开放的错误。对我来说,它似乎是一个web开发人员开始开发iPhone应用程序,而无需学习苹果框架或适当的MVC设计的快捷方式,只是我的意见,毕竟,Facebook使用它,而Facebook是最下游的应用程序... – Intentss