【问题标题】:Calling loadView for UITableViewController subclass为 UITableViewController 子类调用 loadView
【发布时间】:2011-05-21 05:23:52
【问题描述】:

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

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

【问题讨论】:

    标签: iphone objective-c ios uitableview loadview


    【解决方案1】:

    根据 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多