我目前需要的是通过子类化UIViewController并在不使用任何nib文件的情况下应用必要的方法以编程方式创建tableview。它可能需要一个UINavigationViewControlloer。我基本上了解所有这些概念,甚至几乎知道如何将所有内容拼凑在一起,但缺少某些东西。它将有4个文件。 AppDelegate h / m和SomeNameViewcontroller h / m。我认为SomeNameViewController应该有一个属性UITableView *
我尝试了几种方式并在线查看,但我一直在使用带有导航栏的黑屏。这令人难以置信的令人沮丧,当我可以让tableView显示时,我无法让tableView重新加载数据:/
答案 0 :(得分:3)
从你的叙述中,你似乎并没有完全掌握所涉及的概念。例如,没有UINavigationViewController
这样的东西。以下是您需要了解的内容:
UINavigationController
是视图控制器的控制器。 您可以使用
在应用代理中创建它UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:
yourRootViewController];
并使用self.navigationController
从视图控制器访问它。
为了您的目的,您创建了UITableViewController
的子类。 Xcode中的模板应该已经包含了您需要的所有datasource
和delegate
方法的存根。
在您的app delegate中,确保已将正确的导航控制器指定为根。
在application:didFinishLaunchingWithOptions:
:
self.window.rootViewController = nav; // the nav controller you created
[nav release];
[self.window makeKeyAndVisible];
return YES;
答案 1 :(得分:1)
听起来你只需要一个UITableVIewController
。就像Mundi提到的那样,xcode很好地处理了这个问题。这是你要做的:
在XCode中创建一个新项目,然后选择Window-based Application
模板。
添加一个UIViewController subclass
的新文件。给定选项时,将子类更改为UITableViewController。
Delegate
和DataSource
)。在NavigationController
中创建AppDelegate
并推送TableViewContoller
。
[self.navigationController pushViewController:yourTableViewController animated:NO];
设置NavigationContoller
,就像Mundi描述的RootController
一样。
斯坦福大学Developing Apps for iOS的第6和第7节非常清楚地解释了NavigationControllers
和其他控制者(例如TabBarController
)。