繁体   English   中英

为UITableViewController子类调用loadView

[英]Calling loadView for UITableViewController subclass

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

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

永远不要根据Apple的文档调用[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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM