2013-08-14 3 views
2

Я не уверен, как подойти к этому. Я загружаю отдельный файл nib-файла контроллера таблицы в мой диспетчер представлений. Как мне позиционировать его так, как я хочу? Кроме того, Является ли приведенный ниже запрос всем, что мне нужно, или я что-то упускаю? Он продолжает рушиться.Попытка добавления TableView внутри UIView. Что я здесь делаю неправильно?

- (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]; 
+0

Какой выходной сигнал? Ничего не появляется? Вам также нужно будет добавить 'delegate' и' dataSource' –

ответ

0

Если кто-то нуждается в этом. См. Этот учебник, который я нашел на youtube, который помог многим. Спасибо за помощь.

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

+1

Ссылка только ответы не очень полезны, если ссылка уходит. Попробуйте добавить соответствующую информацию к самому ответу. – Abizern

+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 вам необходимо сообщить программе, что вы собираетесь выступать в качестве как делегат и DataSource

@interface NSSViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> 

Из того, что я понял из вашего вопроса, что должен получить вас туда, куда вам нужно идти. Я буду соответствующим образом отредактировать, если вам потребуется дополнительная помощь.

+0

Я хотел бы добавить tableViewController в качестве подзаголовка моего UIview. Мои данные и делегат будут поступать с другого контроллера. Я решил, что мне нужно добавить его как ChildViewController. – user3783961

+0

Разве табличное представление не будет занимать весь экран? Вы все же можете сделать сам источник данных, а затем создать модель с данными в vc. –

+0

Питер, который звучит так, может быть, мой лучший выбор ... Я попробую и вернусь к вам. Спасибо за предложение! – user3783961

0

Установите кадр ваши UITableView «ы в -viewWillAppear: как это:

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

 Смежные вопросы

  • Нет связанных вопросов^_^