试图在UIView中添加Tableview。我在这做错了什么?

时间:2013-08-14 02:00:01

标签: ios uitableview uiviewcontroller childviewcontroller

我不确定如何处理这个问题。我正在向我的viewcontroller加载一个单独的表视图控制器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];

3 个答案:

答案 0 :(得分: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>

从我收集到的问题中,这应该可以让你到达目的地。如果您需要进一步的帮助,我会进行相应的编辑。

答案 1 :(得分:0)

UITableView中设置-viewWillAppear:的框架,如下所示:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    tableViews.view.frame = self.view.bounds;
}

答案 2 :(得分:0)

如果有其他人需要这个。看到我在youtube上找到的帮助很多的教程。感谢您的帮助。

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