Mam UITableView z 3 sekcje. Każdy z nich ma stopkę, którą dodałem przy użyciu metody viewForFooterInSection. Problem polega na tym, że gdy przewijam widok tabeli, stopka przykleja się do dolnej części ekranu i nie przewija się jak reszta komórek. Czy ktoś wie, jak to zrobić, aby stopka prawie działała jak komórka i przewijała się wraz z resztą stołu? Dzięki!iOS - viewForFooterInSection przykleja się do dolnej części UITableView
Odpowiedz
Właściwie to rozgryzłem. Prawdopodobnie nie jest to najmądrzejszy sposób, aby to zrobić, ale zmieniłem styl UITableView na zgrupowany i to naprawiło. Musiałem zmodyfikować TableView tak, aby komórki wyglądały tak samo, jak nie były zgrupowane (jasne tło, bez separatorów), ale działało dobrze. Stopka nie przykleja się już do dolnej części widoku TableView.
Jednym ze sposobów obejścia tego problemu jest ustawienie stopki jako jednej z komórek jako ostatniej komórki w widoku przewijania (można to zrobić, ale ustawiając ją jako ostatni element w tablicy, z której można ustawić wartość)
Stopki mają się trzymać. Sztuką jest dodanie dodatkowej komórki do każdej sekcji i renderowanie stopki. Jeśli potrzebujesz dodatkowej pomocy, dodaj komentarz, ale powinno to być proste.
zmian wprowadzanych przez:
P: porządku. Używam Core Data i NSFetchedResultsController, aby wypełnić TableView. Czy byłoby to trudniejsze do osiągnięcia tego?
A: Wcale. Przestawianie
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Aby dodać dodatkową komórkę w każdej sekcji, aw
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
sprawdzić, czy indexPath.row> niż wierszy Twojego fetchedResultsController dotyczącymi tej sekcji. Jeśli jest to prawda, dodaj komórkę, która pokazuje informacje o stopce.
Dobra. Używam Core Data i NSFetchedResultsController, aby wypełnić TableView. Czy byłoby to trudniejsze do osiągnięcia tego? – mhbdr
Wcale nie.Przestawianie - (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: odcinek (NSInteger) Aby dodać dodatkową komórkę w każdej sekcji, a - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath sprawdzić, czy indexPath.row> niż wiersze fetchedresultscontroller dla tej sekcji. Jeśli jest to prawda, dodaj komórkę, która pokazuje informacje o stopce. –
Dodanie dodatkowej komórki, uczynienie jej niewidoczną i przedstawienie widoku nie jest wskazanym sposobem dodania stopki. Robi to właściwie jest całkiem prosta:
- (UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section {
NSString* sectionFooter = [self tableView:tableView titleForFooterInSection:section];
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, yourWidth, yourHeight)]; //create a view- the width should usually be the width of the screen
UILabel* label = [[UILabel alloc] initWithFrame:someFrame];
label.backgroundColor = [UIColor blueColor];
label.textColor = [UIColor whiteColor];
label.text = sectionFooter;
[view addSubview:label];
return view;
}
Będziesz mieć również zaimplementować tableView: titleForFooterInSection: jeśli chcesz dodać tekst, jak mam tutaj.
Twoja odpowiedź służy do dodawania stopki, ale ta stopka zostanie przyklejona na dole widoku tabeli, dokładnie to, czego nie chciał. – rsc
Zrobiłem podobny problem, gdy dowiedziałem się, że mój kod nie działa w trybie poziomym i działał tylko w trybie portretu. W moim starym kodzie, w widoku poziomym widok tabeli nie może przewijać niższego niż widok widoczny, a podczas przewijania odskoczył do górnego wiersza (nie pozwalając mi zobaczyć niższych rzędów). Wszystko, co muszę zmienić, to upewnić się, że wysokość jest ustawiona na 44 jako domyślna wysokość komórki. Tak więc moja stopka jest w zasadzie inną komórką z clearColor. Uwaga: moja aplikacja używa "AutoLayout"
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
CGRect screenBounds = [UIScreen mainScreen].bounds;
CGFloat width = screenBounds.size.width;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, 44)];
view.backgroundColor = [UIColor clearColor];
UILabel *label = [[UILabel alloc] initWithFrame:view.frame];
label.text = @"Your Text";
[view addSubview:label];
return view;
}
- 1. Dodaj komórkę do dolnej części UITableView w iOS
- 2. Trzymaj się dolnej części StackPanel
- 3. Stopka CSS nie przykleja się do dolnej krawędzi strony
- 4. Jak ustalić, czy użytkownik przewinął do dolnej części UITableView?
- 5. Stick div do dolnej części okna przeglądarki
- 6. DIV dołączony do dolnej części rzutni
- 7. Automatyczne przewijanie do dolnej części obszaru tekstowego
- 8. ios UICollectionView w górnej/dolnej części między komórkami
- 9. Strzałka w dolnej części okna dialogowego jQuery
- 10. jQuery Przewiń do dolnej części Div nawet po aktualizacji?
- 11. Jak załadować disqus po przewinięciu do dolnej części strony?
- 12. Jak sprawdzić, czy JScrollBar dotarł do dolnej części JScrollPane?
- 13. sposób wyrównania zestawu przycisków do dolnej części ekranu w Androidzie
- 14. Wyrównaj obraz do dolnej części elementu pływającego po lewej stronie
- 15. Wyrównanie wielu elementów div do dolnej części jednostki nadrzędnej
- 16. onClick przejdź do dolnej części strony, używając jQuery .animate
- 17. Dodatkowy margines 5px dodawany do dolnej części każdego div
- 18. Ustawianie podstawowej stopki do UITableView
- 19. Bootstrap modal-footer nie przykleja się do dna modala
- 20. IOS: wybór UIScrollView lub UITableView
- 21. Nagłówek sekcji UITableView iOS 5
- 22. HTML: Element bloku kotwicy wewnątrz dolnej części bloku nadrzędnego?
- 23. Załaduj więcej treści, gdy użytkownik przewinie "blisko" dolnej części strony?
- 24. align div w dolnej części innego div za pomocą CSS
- 25. iOS UITableView Przewiń do dołu sekcji
- 26. Drzewo wielopoziomowe UITableView w iOS
- 27. Jak dodać linię 1dp do dolnej części mojej komórki widoku tekstowego (nie do układu tabeli)?
- 28. Użyj jQuery, aby wykryć, kiedy element znajduje się w dolnej części strony.
- 29. iOS - Separatory komórek nie pojawiają się na UITableView
- 30. Jak dopasować div do dolnej części strony, a nie na dole ekranu?
Dzięki, koleś ... Dodatkowo muszę dodać wysokość sekcji. W przeciwnym razie działa dobrze .. –
Aby ukryć nagłówek sekcji, który zostanie wyświetlony w stylu zgrupowanego "UITableView", zobacz https://stackoverflow.com/questions/ 19056428/how-to-hide-first-section-header-in-uitableview-grouped-style –