2

我不知道如何解决这个问题。我正在将一个单独的表视图控制器 nib 文件加载到我的视图控制器中。如何以我想要的方式定位它?另外,下面的查询是我所需要的,还是我遗漏了什么?它一直在我身上崩溃。

- (void)viewDidLoad
{
    [super viewDidLoad];

    HSTableViewController *tableViews = [[HSTableViewController alloc]initWithNibName:@"HSTableViewController" bundle:nil];

    [self addChildViewController:tableViews];
    tableViews.view.frame = CGRectMake(0, 0, 100, 100);
    //tableViews.view.frame = self.view.bounds;
    [self.view addSubview:tableViews.view];
    [tableViews didMoveToParentViewController:self];
4

3 回答 3

2

要将代码中的 tableview 添加到视图控制器,其中 VC 将充当数据源和委托,您将执行以下操作。

- (void)viewDidLoad
{
    [super viewDidLoad];
    UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
    tableView.delegate = self;
    tableView.dataSource = self;
    [self.view addSubview:tableView];
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellID = @"CellIdentifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];

    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
  }
    cell.textLabel.text = @"Hello World";

    return cell;
}

然后在您的 .H 文件中,您需要通知程序您将同时充当 Delegate 和 DataSource

@interface NSSViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

根据我从您的问题中收集到的信息,这应该可以帮助您到达需要去的地方。如果您需要进一步的帮助,我会相应地进行编辑。

于 2013-08-14T02:11:59.377 回答
0

像这样设置你UITableView的框架-viewWillAppear:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    tableViews.view.frame = self.view.bounds;
}
于 2013-08-14T03:07:10.153 回答
-1

如果其他人需要这个。请参阅我在 youtube 上找到的本教程,该教程很有帮助。感谢所有的帮助。

http://www.youtube.com/watch?v=DzedmcFlm1c

于 2013-08-16T19:14:41.027 回答