2015-03-10 20 views
5

Satır ekini aşağıdaki kodla ayarladık. Satırları eklerken ve silerken sadece UITableViewRowAnimationNone kullanıyorum, ancak bazen aşağıdaki gif'te görebileceğiniz gibi, satır üst veya alttan animasyonludur. Çoğunlukla, istediğim gibi canlandırmıyor, ama bazen ekleme ve silme işlemlerinde canlandırıyor. Yerleştirilen hücreyi göstermek için genişleyen tablo görünümünden bahsetmiyorum, yani hücrenin alttan veya üstten kaydığı anlaşılıyor. İşte UITableViewRowAnimationNone - davranışı UITableViewRowAnimation (Üst/Alt)

enter image description here

yerleştirme animasyon kontrolleri yöntemdir:

- (void)contentHeaderFooterView:(NFContentHeaderFooterView *)headerFooterView sectionOpened:(NSInteger)section{ 

    NSIndexPath *pathToAdd = [NSIndexPath indexPathForRow:0 inSection:section]; 

    [self.tableView beginUpdates]; 
    [self.tableView insertRowsAtIndexPaths:@[pathToAdd] withRowAnimation:UITableViewRowAnimationNone]; 
    [self.tableView endUpdates]; 

} 

Ve burada silme animasyonu kontrol yöntemidir.

- (void)contentHeaderFooterView:(NFContentHeaderFooterView *)headerFooterView sectionClosed:(NSInteger)section{ 

    NSIndexPath *pathToDelete = [NSIndexPath indexPathForRow:0 inSection:section]; 

    [self.tableView beginUpdates]; 
    [self.tableView deleteRowsAtIndexPaths:@[pathToDelete] withRowAnimation:UITableViewRowAnimationNone]; 
    [self.tableView endUpdates]; 

} 
+0

Aynı sorun olan bir hata gibi görünüyor

[UIView performWithoutAnimation:^{ [self.tableView beginUpdates]; [self.tableView deleteRowsAtIndexPaths:rowsToRemove withRowAnimation:UITableViewRowAnimationNone]; [self.tableView endUpdates]; }]; 

Not söyledi. – Andy

cevap

0

Doğrudan verdiğim animasyonu gerçekleştirmeyen tablo güncellemeleriyle benzer sorunlar yaşadım. Nedenini kesin olarak söyleyemem ama önerebileceğim tek bir şey, begin/endUpdates arasında belirli bir satır silme işlemi yapmak yerine, yalnızca sabit bir reloadData'ya sahip olabilirsiniz.