2013-11-30 1 views
0

Я действительно новичок в Objective-C, поэтому то, что я прошу, может быть тривиальным для большинства из вас, но любое руководство помогу. Вот фотография моей истории.Как инициализировать мою таблицу UITableView, чтобы иметь определенное количество строк на основе ввода от пользователя и кнопку

enter image description here

Моя текущая цель состоит в том, чтобы позволить пользователю вводить в число наборов (NSInteger * numReps), а затем нажмите кнопку «Log Репс» и есть таблица инициализации с numReps клетками, которые выглядят как прототип клетки.

Теперь, когда я затрудняюсь для реализации. Я никогда не делал этого раньше, поэтому я не совсем уверен, что лучший способ сделать это. Я думал о создании пользовательского класса для таблицы UITableView, который будет получать информацию из представления после нажатия кнопки Log Reps. Я не совсем уверен, как это нужно реализовать. Или я могу просто добавить таблицу к свойствам контроллера представления и настроить таблицу в контроллере представления? Это была моя первоначальная идея и кажется идеальной, чтобы у меня было все в одном месте.

Просьба сообщить. Я новичок во всем этом и исхожу из C++-фона, поэтому я все еще изучаю много обозначений.

+0

Вы хотите разрешить только повторений или повторений и вес? Из взглядов вашей раскадровки вы можете подумать о дизайне немного больше, прежде чем начинать кодирование (замечательно видеть, что кто-то делает приложение для тренировки). – JeffRegan

+0

Я буду реализовывать вес после того, как выясню, как это сделать. Попытка сделать это шаг за шагом :) –

+0

Как и все, упомянутые ниже, вам придется подключиться к методу делегата таблицы и источникам данных. Если вы можете выяснить, как настроить ваш диспетчер представлений как делегат и источник данных, все методы, которые вам понадобятся, начнутся с tableview. Автоматическое заполнение должно помочь. Я нашел вид здания с xibs немного ограниченным. Однако мне нравится использовать xibs для ячеек таблицы. Количество строк, которые появляются, основано на методе делегата представления таблицы (см. Ниже ответы).Всякий раз, когда пользователь нажимает Enter, добавьте это количество наборов в ваш источник данных. Затем перезагрузите вызов в виде таблицы. Это обновит его. – JeffRegan

ответ

0

Попробуйте это:

-(IBAction)btnLogClicked { 
     int iSet = 4 //Number of row in table 
     UITableView *tblView= [[UITab;eView alloc]initWithFrame:CGRectMake(0,50,320,100)]; 
     tblView.delegate = self; 
     tblView.dataSource = self; 
     [self.view addSubView:tblView]; 

}
Таблица View Source и Делегирование данных Методы

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

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 

     return iSet; 
    } 

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

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
     if (cell == nil) { 
      cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
     } 
     // Display what you want to display in each cell 

     return cell; 
    } 

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     [tableView deselectRowAtIndexPath:indexPath animated:YES]; 

    } 
0

Непонятно, что вы хотите представить в своих ячейках прототипа, но для заполнения ячеек вам нужен массив (или, вероятно, массив словарей). Количество строк определяется числом entires (count) этого массива. Таким образом, если вы берете введенный пользователем номер и добавляете много объектов к вашему массиву, тогда вызывайте reloadData в таблице, вы получите количество строк, которое вы хотите. Что эти объекты, которые вы добавляете в массив, зависит от того, что вы пытаетесь показать там.

0

вы могли бы начать чтение: Table View Programming Guide for iOS

Но я могу вам ответить:

Вы можете добавить UITableView в UIViewController, но вам нужно установить ваши UIViewController как делегата Tableview и DataSource. Ваш ViewController необходимо реализовать протокол: UITableViewDataSource

Метод, который вы ищете это: tableView:numberOfRowsInSection:

Но я очень рекомендую вам, что читать компании Apple Reference.

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