Przeszukałem wszystkie przykłady w Internecie i nie mogłem wymyślić, jak właściwie dodać komórkę do widoku tabeli z animacją. Załóżmy, że mam jedną sekcję z jedną komórką i chcę dodać kolejną komórkę, gdy użytkownik kliknie na akcesorium pierwszej komórki.jak prawidłowo korzystać z insertRowsAtIndexPaths?
Mój „dodać” metoda robi to:
- (IBAction) toggleEnabledTextForSwitch1onSomeLabel: (id) sender {
if (switch1.on) {
NSArray *appleComputers = [NSArray arrayWithObjects:@"WWWWW" ,@"XXXX", @"YYYY", @"ZZZZ", nil];
NSDictionary *appleComputersDict = [NSDictionary dictionaryWithObject:appleComputers forKey:@"Computers"];
[listOfItems replaceObjectAtIndex:0 withObject:appleComputersDict];
[tblSimpleTable reloadData];
}
Który działa, ale nie ma animacji. Rozumiem, że aby dodać animację, muszę użyć metody insertRowsAtIndexPaths: withRowAnimation, więc wypróbowałem mnóstwo opcji, ale zawsze zawiesza się przy wykonywaniu metody insertRowsAtIndexPaths: withRowAnimation.
Moja ostatnia próba była w ten sposób:
- (IBAction) toggleEnabledTextForSwitch1onSomeLabel: (id) sender {
if (switch1.on) {
NSIndexPath *path1 = [NSIndexPath indexPathForRow:1 inSection:0]; //ALSO TRIED WITH indexPathRow:0
NSArray *indexArray = [NSArray arrayWithObjects:path1,nil];
[tblSimpleTable insertRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationRight];
}
}
Co robię źle? Jak mogę to łatwo zrobić? Nie rozumiem tej całej rzeczy indexPathForRow ... Nie rozumiem też, jak dzięki tej metodzie mogę dodać nazwę etykiety do nowej komórki. Proszę, pomóż ... dzięki!
Czy zaktualizowałeś swoje źródło danych o 2 elementy? –