2010-12-06 29 views
0

我做了一个没有xib的UITableViewController子类的实例。我不打算使用xib文件。我在-(id)init例程中构建数据。我为-(id)init函数中的表创建数据,并使用UITableViewDataSource和UITableViewDelegate协议的方法来显示和选择数据。我使用[[UINavigationController alloc] initWithRootViewController: myTVC];将UITableViewController子类加载到UINavigationController中。所有这些成功如果我没有为该类定义loadView方法。如果我做一个空白的loadView方法,一个空的UIView放在屏幕上。为UITableViewController子类调用loadView

我的问题:如何为UITableViewController的简单子类编写正确的loadView函数?

回答

3

一个永远不应该通过调用[super loadView]每个苹果的文档: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/loadView

来处理,这是简单地创建一个视图并将其设置为self.view,在这种情况下self.tableView以及正确的方法:

- (void)loadView { 
    UITableView* tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; 
    tableView.delegate = self; 
    tableView.dataSource = self; 

    self.view = tableView; 
    self.tableView = tableView; 
} 
相关问题