2015-07-24 5 views
1

Я попробовал больше времени для поиска, но результат не мой. У меня есть UITableView с пользовательскими ячейками. И есть кнопка для добавления новой ячейки в этот UITableView. Я могу добавить новую ячейку, но она будет добавлена ​​в нижней части таблицы. Почему, я не мог почувствовать, добавлена ​​ли ячейка или нет. Поэтому мне нужно добавить ячейку наверху таблицы. Пожалуйста, помогите мне. enter image description hereДобавить новую пользовательскую ячейку в начало UITabelView

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return self.firstArray.count; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    documentsRemarksTableCell *cell=[tableView dequeueReusableCellWithIdentifier:@"cell"]; 
    if (cell==nil) { 
     NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"documentsRemarksTableCell" owner:self options:nil]; 
     cell=[nib objectAtIndex:0]; 
    } 
    cell.remarksLabel.text=[self.firstArray objectAtIndex:indexPath.row]; 
    return cell; 
} 
-(IBAction)addnewRemarks:(id)sender 
{ 
    [self.firstArray addObject:@""]; 
    NSInteger row = [self.firstArray count]-1; 
    NSInteger section = 0; 
    NSIndexPath *myindexpath = [NSIndexPath indexPathForRow:row inSection:section]; 
    // [selectedarray addObject:myindexpath]; 
    [self.firstTableView beginUpdates]; 

    [self.firstTableView insertRowsAtIndexPaths:@[myindexpath] withRowAnimation:UITableViewRowAnimationTop]; 
    [self.firstTableView endUpdates]; 
} 
+0

Делитесь кодом, который вы пробовали. – Akhilrajtr

ответ

2

вместо использования [self.firstArray addObject:@""];

[self.firstArray insertObject:@"" atIndex:0]; 

и в действии addnewRemarks: установить

NSInteger row = 0; 

, чтобы показать новую строку в верхней части таблицы.

так, наконец addnewRemarks метода будет

-(IBAction)addnewRemarks:(id)sender 
{ 
    NSInteger row = 0; 
    NSInteger section = 0; 
    [self.firstArray insertObject:@"" atIndex:row]; 
    NSIndexPath *myindexpath = [NSIndexPath indexPathForRow:row inSection:section]; 
    // [selectedarray addObject:myindexpath]; 
    [self.firstTableView beginUpdates]; 

    [self.firstTableView insertRowsAtIndexPaths:@[myindexpath] withRowAnimation:UITableViewRowAnimationTop]; 
    [self.firstTableView endUpdates]; 
} 

в коде NSInteger row = [self.firstArray count]-1; что означает, что новый элемент будет добавлен в последнем индексе.

+0

Еще добавлено в конце – hilaj

+0

Есть ли другие методы? – hilaj

+0

Большое вам спасибо .. На самом деле вы спасли мое время. – hilaj

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