вставка новой строки в uitableview - PullRequest
0 голосов
/ 04 августа 2011

У меня очень простая таблица с одной строкой, на которой есть переключатель. в основном, когда пользователь включает переключатель, я бы хотел добавить еще одну строку ниже первой. кажется, что ничего не работает должным образом, даже пройдя через многие темы здесь. в лучшем случае я могу добавить еще одну строку, но в новом разделе, а это не то, что я хочу.

вот мой код:

LoadDidView:

  listOfItems = [[NSMutableArray alloc] init];
  listOfItems = [NSMutableArray arrayWithObjects:@"LINE 1" ,nil];    



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; //try here diff styles
}

NSString *cellValue = [listOfItems objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;


switch1 = [[UISwitch alloc] initWithFrame:CGRectZero];
[switch1 addTarget:self action:@selector(toggleEnabledTextForSwitch1onSomeLabel:) forControlEvents:UIControlEventValueChanged];

[cell addSubview:switch1];
cell.accessoryView = switch1;



return cell;

}

И действие, связанное с моим переключателем:

- (IBAction) toggleEnabledTextForSwitch1onSomeLabel: (id) sender {  
if (switch1.on) {

  [listOfItems insertObject:@"LINE 2" atIndex:0];
   [tblSimpleTable reloadData];

    }

 }

Я где-то читал, что мне нужно использовать insertRowsAtIndexPaths: но я понятия не имею, действительно ли мне это нужно в моем случае, поскольку я не редактирую свои ячейки - просто добавляю одну ячейку в тот же раздел.

Это правильный способ сделать это? что я тут не так делаю?

Спасибо!

EDIT:

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

    int count = [listOfItems count];
    if(self.editing) {
    count++;

}
    return count;
}

Ответы [ 2 ]

0 голосов
/ 04 августа 2011

Поскольку я не могу понять в вашем куске кода, может быть причина, по которой вы что-то упускаете ЧИТАЙТЕ это

0 голосов
/ 04 августа 2011

Изменили ли вы значение, которое возвращает numberOfRowsInSection, а затем reloadData?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...