2011-03-02 32 views
1

我想制作一个多视图应用程序5-6个不同的屏幕和一个数据源来存储用户信息。我以前从未制作过多视图应用程序,而且我对如何开始有个很好的想法,但我希望听到关于“构建”您的应用程序以适当支持此应用程序的一些建议。第一个iPhone多视图应用程序 - 一些指导

一个非常简单的比喻可以关于在网站上制作背景颜色......您可以使用纯色图像或简单地使用背景色样式。两者都完成了工作,但使用风格更容易/更高效。

我只是想确保我从右脚开始。我是否应该将所有函数放在一个类的.m/.h文件中?什么是最好的/有效的方式去关于不同的屏幕?

谢谢,一旦我更好地掌握Objective-C和Xcode,我一定会尽力帮助别人。

回答

0

Apple文档通常是大多数情况下开始使用的好地方。首先尝试here。希望这会有所帮助,祝你好运!

0

我曾经使用过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 !

+1

IMO,这三个东西看起来很有希望,但它仍然看起来非常不稳定,它是苹果优秀框架的出发/重新发明,它记录不完全(与苹果相比),并且还有很多开放的错误。对我来说,它似乎是一个web开发人员开始开发iPhone应用程序,而无需学习苹果框架或适当的MVC设计的快捷方式,只是我的意见,毕竟,Facebook使用它,而Facebook是最下游的应用程序... – Intentss

1

如果您是iPhone/iPad的新手,我强烈建议您查看CS193P讲座,它们也是iTunes上的独占鳌头。他们很好地概述了iPhone编程以及Objective-C/Cocoa Touch中的工作情况。它会让任何人开始正确的方向。

至于你的具体问题。刚开始编码。在6个月内,你会意识到你写的东西是cr * p,并且无论如何都需要重写,但是这样做是唯一的方法,你会意识到你写的东西是cr * p所以...

一些建议,具体到多观察应用程序(其中几乎所有的应用程序是),我敢肯定,别人可以在此展开......

  1. 了解(尽可能),以不同的观点和viewcontrollers之间的交互代码(VS使用界面生成器)。例如,twitter应用根本不使用Interface Builder。
  2. 如果您使用IB,请勿将所有内容转储到一个.xib文件中。学习如何分解它们。一个.xib每个viewcontroller应该是它。我从来不使用IB UITabBarController或IB UINavigationController,它们只能在代码中初始化和使用。
  3. 绝对学习MVC(模型视图控制器)。
+0

我同意这一点。 –

相关问题