Używam UITableView z niestandardową komórką.
Działa dobrze, ale problem występuje, gdy w widoku UITableView jest tylko jedna lub dwie komórki.
Daje także separator do pustej komórki.
Czy możliwe jest wyświetlanie separatora tylko dla komórki, która jest obciążona moją komórką niestandardową?Wyświetlanie tylko separatora dla dostępnego CellForRow w UITableView
Odpowiedz
Musisz dodać widok pustej stopki, aby ukryć puste wiersze z tabeli.
Swift 3.x:
W swojej viewDidLoad()
self.tblPeopleList.tableFooterView = UIView.init()
Objective-C:
Najłatwiej:
w swojej metodzie viewDidLoad
,
self.yourTableView.tableFooterView = [[UIView alloc] initWithFrame : CGRectZero];
lub
self.yourTableView.tableFooterView = [UIView new];
lub
Jeśli chcesz dostosować wygląd widzenia stopki, można to zrobić w ten sposób.
UIView *view = [[UIView alloc] initWithFrame:self.view.bounds];
view.backgroundColor = [UIColor redColor];
self.yourTableView.tableFooterView = view;
//OR add an image in footer
//UIImageView *imageView = [[UIImageView alloc] initWithImage:footerImage.png]
//imageView.frame = table.frame;
//self.yourTableView.tableFooterView = imageView;
Innym sposobem:
Wdrożenie metody źródło danych tabeli,
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
return [UIView new];
}
To samo, ale tutaj można dodać różne widoki dla każdej sekcji, czy tabela ma wiele sekcji. Nawet ty możesz ustawić różną wysokość każdej sekcji za pomocą tej metody, - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {...}
.
Objective-C Odpowiedź Uwaga: Ta odpowiedź jest testowana na iOS7 i nowszych wersjach, dla poprzednich wersji musisz przetestować każdy przypadek. Swift Odpowiedź Uwaga: Ta odpowiedź została przetestowana na iOS10.3 i nowszych wersjach, w przypadku poprzednich wersji należy przetestować każdy przypadek.
Innym rozwiązaniem:
UIView *v = [[UIView alloc] initWithFrame:CGRectZero];
v.backgroundColor = [UIColor clearColor];
[self.tableView setTableFooterView:v];
To działa zbyt
self.tableView.tableFooterView = [UIView new];
Umieść ten spokój kod w swoim viewDidLoad
self.tblTest.tableFooterView = [[UIView alloc] initWithFrame : CGRectZero];
- 1. Usuń linię separatora UITableView
- 2. Usuń linię separatora tylko dla jednej komórki
- 3. Wyświetlenie separatora UITableView poniżej obrazuView
- 4. Co to jest kolor separatora UITableView w systemie iOS 7?
- 5. Usuwanie separatora wierszy, ale nie obramowanie w widoku UITableView
- 6. Czy jest możliwe zwiększenie grubości linii separatora UITableView?
- 7. Nie chcę animacji na początku aktualizacji, blokowanie aktualizacji dla uitableview?
- 8. Wyszukiwanie całkowitego dostępnego i dostępnego fizycznego elementu/magazynu
- 9. Wyświetlanie pozycji menu tylko w trybie debugowania?
- 10. Wyświetlanie tylko podfolderów w języku C#?
- 11. Wyświetlanie tylko ciągów opcji ukończenia bash COMPREPLY dla użytkownika
- 12. czy możliwe jest wyświetlanie widżetu tylko dla określonej wersji Androida?
- 13. Uzyskiwanie największego dostępnego typu
- 14. Jak zaokrąglić tylko narożniki na UITableView?
- 15. iPhone + UITableView + rząd wysokość
- 16. Niepowodzenie asercji dla UITableView selectRowAtIndexPath
- 17. Tworzenie niestandardowego pomocnika dostępnego w widokach
- 18. Dlaczego znak separatora pola musi być tylko jeden bajt?
- 19. Zmiana domyślnego separatora w obsadzie
- 20. Uzyskiwanie dostępnego obszaru ekranu w trybie autouruchamiania
- 21. twig: wyświetlanie zmiennej tylko jeśli istnieje
- 22. Używanie separatora w pasku statusu
- 23. Zmiana separatora polecenia uniq
- 24. tworzyć niestandardowe UITableView separator linii
- 25. Rejestrowanie w języku Python: wyświetlanie tylko informacji z poziomu debugowania
- 26. Dodawanie separatora daty dla obiektu SimpleCursorAdapter w systemie Android
- 27. Zmiana separatora dziesiętnego w MySQL
- 28. Brakujący błąd separatora w Makefile
- 29. Brak domyślnego formatu dla MyClass dostępnego przy użyciu Json.format
- 30. Brak buforowanej wersji pliku com.android.tools.build:gradle:1.2.3 dostępnego dla trybu offline
ten kod działa doskonale zarówno w iOS 7 i 8. nie trzeba wyczyścić koloru widoku tła. – Jemythehigh