Jeśli zauważysz w aplikacji kontaktów na iPada po dotknięciu ikony edycji "+", aby dodać nowy adres, komórka nie rozwinie się w lewo, gdy ikona zniknie (patrz zrzut 1. ekranu poniżej). Próbuję zrobić coś podobnego, ale nie mam szczęścia (zobacz poniżej zrzut ekranu z drugiego ekranu). Próbowałem użyć proponowanego rozwiązania here, ale nie działało.jak zapobiec rozszerzaniu się szerokości komórki po zakończeniu edycji w UITableView
Do celów rejestracyjnych nie próbuję replikować rzeczywistej aplikacji kontaktów ani integrować się z kontaktami. Pracujemy nad czymś niezwiązanym, a mój projektant po prostu chce podążać tym śladem, wykonując pracę z POC, aby zobaczyć, co mogę zrobić.
EDYCJA - Kolejne pytanie, aby zweryfikować moje myślenie, polega na tym, że w aplikacji Kontakty o tym, co się dzieje, gdy ikona "+" jest dotknięta, ta komórka nie jest już edytowana, te pola tekstowe są dodawane do komórka, etykieta zmieniła się, a następnie polecenie reloadData zostało wywołane, prawda?
EDYCJA - Dzięki za sugestię Tim, już prawie jestem! Właściwie to wymyśliłem 1/2, ale potem wpadłem na problem, że ikona "+" nie ożywiła się, po prostu nagle znikała. Tak więc dodałem polecenie reloadRows ... call to commitEditingStyle, ale teraz cała komórka znika. Tu jest mój kodu:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCellEditingStyle editingStyle = UITableViewCellEditingStyleNone;
if (self.showEditingIcon) {
editingStyle = UITableViewCellEditingStyleInsert;
self.showEditingIcon = NO;
}
return editingStyle;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
// tableView.editing = NO;
// tableView.editing = YES;
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
Widać z moich zakomentowanych linii co miałem pierwotnie, który pracował, ale jak już mówiłem, nie było animowanie - przycisk „+” Po prostu nagle znikają. Jeśli spróbuję zadzwonić [tableView setEditing: NO animated: YES] to nie zadziała. Kiedy próbowałem umieścić te wywołania w bloku animacji UIView, nie wyglądało to dobrze - widziałem komórkę tymczasowo przesuwającą się w lewo i w tył. Jednak teraz, po ponownym wczytaniu, komórka znika całkowicie. W tej chwili nie wprowadzam żadnych zmian w mojej komórce (na przykład nie dodaję pól tekstowych, itp.), Ponieważ chcę tylko, aby przycisk "+" animował się bez powiększania lewej komórki przez komórkę w pierwszej iteracji.
Każda pomoc bardzo ceniona. Dzięki.
To jest fantastyczne - jestem prawie na miejscu, ale wpadam na coś dziwnego. Kiedy używam poniższego kodu, moja cała komórka po prostu znika. Ups, zamierzam edytować i uwzględnić to, o czym mówię w moim oryginalnym wpisie. – fogwolf
Dodano działający przykładowy projekt. Nadzieja, która pomaga. –
Bardzo dziękuję! Sprawdź to teraz. W międzyczasie dodano edycję do mojego pierwotnego ogłoszenia. – fogwolf