如何以编程方式向视图控制器添加多个视图对象?

时间:2010-05-15 17:22:57

标签: iphone iphone-sdk-3.0 ipad

我正在深入开发iPhone OS,我正在尝试了解如何在SplitView iPad应用程序的“Left / Root”视图中添加多个视图对象。我已经想出如何根据我在Apple的在线文档中找到的示例代码以编程方式将TableView添加到该视图...

RootViewController.h

@interface RootViewController : UITableViewController <NSFetchedResultsControllerDelegate, UITableViewDelegate, UITableViewDataSource> {

    DetailViewController *detailViewController;

    UITableView *tableView;

    NSFetchedResultsController *fetchedResultsController;
    NSManagedObjectContext *managedObjectContext;
}

RootViewController.m

- (void)loadView
{
    UITableView *newTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame] style:UITableViewStylePlain];
    newTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
    newTableView.delegate = self;
    newTableView.dataSource = self;
    [newTableView reloadData];

    self.view = newTableView;
    [newTableView release];
}

但有一些我不明白的事情,我希望你们退伍军人可以帮助解决一些困惑。

  1. 在语句self.view = newTableView中,我假设我将整个视图设置为单个UITableView。如果是这种情况,那么如何在表视图旁边向该视图添加其他视图对象?例如,如果我想要一个DatePicker视图对象和TableView对象而不仅仅是TableView对象,那么我将如何以编程方式添加它?
  2. 参考上面的代码,如何调整表视图的大小以便为我想要添加的DatePicker视图对象腾出空间?
  3. 非常感谢您的帮助!我现在要继续研究这些问题。

1 个答案:

答案 0 :(得分:1)

创建一个容器视图,您将其指定为视图控制器的视图,然后将内容视图作为子视图添加到此容器视图中。