有没有人知道一个教程,或一个带有示例代码的应用程序,该代码显示了如何包含表格向下钻取,但不是在应用程序的开头。我可以找到的唯一教程在用户打开应用程序时证明它是正确的,但我希望看到用户导航到表格然后向下钻取的位置。谢谢!
答案 0 :(得分:3)
好吧,没有任何教程,但我相信基于导航的应用程序模板创建了一个项目,其中表视图是导航控制器的根视图控制器,就像你提到的教程一样,除了没有要导航到的任何子视图。要更改此设置,以便应用程序首先加载一个空白视图,其中可能有一个按钮然后转到表视图,只需在使用基于导航的应用程序模板启动新项目后按照这些说明进行操作。请记住,我的指示尽可能地贴近导航应用程序模板已经完成的工作,并最大限度地使用Interface Builder而不是手工编写视图:
1)进入默认RootViewController的.m,右键单击并将其重构为类似的内容 “SimpleTableViewController”
2)猜猜是什么...... Xcode4可能改名为.m& .h文件正确,并重命名.xib的内容,但没有重命名.xib本身的名称,所以它应该仍然被称为RootViewController.xib。如果是这样,只需手动将RootViewController.xib重命名为SimpleTableViewController.xib。
2)转到File-> New File-> UIViewController子类,并将其保存为'new'“RootViewController”
3)打开RootViewController.xib并从右侧Utilities部分的Objects Library中拖放Round Rect按钮。
4)将Round Rect按钮重命名为“Go to Simple Table View”
6)将此方法定义添加到RootViewController.h(就在@end之前)
- (IBAction) goToSimpleTableView;
7)将方法体添加到RootViewController.m(在@implementation之后):
- (IBAction) goToSimpleTableView
{
SimpleTableViewController* simpleTableViewController = [[SimpleTableViewController alloc] init];
MyAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate.navigationController pushViewController:simpleTableViewController animated:YES];
[simpleTableViewController release];
}
还要确保在第一个#import "MyAppDelegate.h"
语句后添加#import "SimpleTableViewController.h"
和#import
。 (这里我假设MyApp的项目名称将创建一个MyAppDelegate.h。将'MyApp'替换为您的应用程序委托的实际名称。)
8)接下来,转到MainWindow.xib,单击导航控制器下的SimpleTableViewController对象,打开右侧的身份检查器,并将其类更改为RootViewController。
9)现在,当您运行应用程序时,您将看到新的RootViewController以及您添加的按钮作为第一个视图。
10)接下来确保将RootViewController中按钮的“Touch Up Inside”发送事件绑定到-goToSimpleTableView方法,方法是右键单击按钮,单击并从弹出的菜单中的内部触摸节点中拖动到文件的所有者,然后选择-goToSimpleTableView方法。
11)再次运行应用程序,现在当您单击该按钮时,它将带您进入SimpleTableViewController视图。您会注意到您不会看到后退按钮或视图的任何标题。这是因为他们每个人都需要设置他们的导航项目。转到MainWindow.xib并单击RootViewController中的NavigationItem,并将其标题设置为“Root View”。
12)要向SimpleTableViewController添加标题,您必须在MainWindow.xib中拖放另一个与SimpleTableViewController对应的视图控制器对象,就像RootViewController对象对应RootViewController.h一样。拖动导航项,并像上一步一样重命名标题。
13)这可以为您提供所需内容。要添加可从SimpleTableView访问的其他视图,请使用与我们添加的RootViewController相同的过程创建它们。要将它们实际添加到表视图中,需要更多地了解表视图的工作方式,并且需要更多一些,但是正如您所提到的那样,有很多教程可供使用。
希望这有帮助。