2010-05-13 6 views
8

alt text http://img179.imageshack.us/img179/2047/iphonetableview.pngiPhone: białe linie w UITableView między komórkami nieistniejących

Mam UITableView w pliku nib. Działa doskonale z 4 lub więcej komórkami. Kiedy mam tylko 2 lub 3 komórki, a ekran nie jest całkowicie wypełniony komórkami, mam te puste komórki (ciemnoszare, które tak naprawdę są jedynie tłem mojego TableView) na dole.

Jednak nie powinny tam być, ponieważ moje numberOfSectionsInTableView i numberOfRowsInSection zwraca prawidłowe wartości.

Wszelkie pomysły?

Odpowiedz

6

Nie sądzę, że w rzeczywistości są to komórki. Widzisz białe linie, ponieważ jest to domyślne zachowanie dla widoku tabeli. Czy próbowałeś zmienić separator widoku tabeli na none in IB?

alt text http://img.skitch.com/20100513-x5428pkyp8iaqchmkrd41h8m98.png

+0

To robi, ale wtedy wszystkie separatory zniknęły, co nie działa tak naprawdę dla mojego projektu.Dzięki za twoją sugestię, – znq

+0

I skończyło się na zmianie rozmiaru UITableView za każdym razem, gdy dane się zmieniają. Gdy mniejsze niż rozmiar ekranu, ustawiłem go na rzeczywisty rozmiar i gdy jest większy niż rozmiar ekranu, ustawiam go na rozmiar ekranu i mogę go przewinąć w dół – znq

1

Też to widziałem. Domyślam się, że jeśli ci się nie podoba, gdy masz tylko 2 lub 3 komórki, zrób trzecią (lub czwartą), która jest pusta i nie można jej wybrać do pokrycia pozostałej części przestrzeni.

+0

To opcja. Ale miałem nadzieję, że istnieje proste ustawienie, które mogę zmienić. Nawet nie rozumiem, dlaczego tam jest. Dla mnie ta "cecha" w ogóle nie ma sensu. – znq

+0

Nie sądzę, że istnieje - myślę, że Matt i ja omówiliśmy podstawy :-(zamierzam dawać +1 dla Matta - myślę, że "najczystsze" rozwiązanie byłoby zgodne z przewodnikiem Matta, a następnie użyje separatora do projekt komórki, ale to może dać ci ostatni problem z komórką lub pierwszą komórką (pokazując separator zapasowy), ale to nadal będzie lepsze/łatwiejsze do rozwiązania niż dodanie dodatkowych komórek dummy, tak jak zasugerowałem. – Andiih

21

co widzisz jest domyślne zachowanie UITableViewStylePlain. Jeśli nie chcesz mieć "pustych komórek" pod rzeczywistymi komórkami, przenieś przycisk "Więcej" (widoczny na zdjęciu) do tabeli UITableView tableFooterView. Kiedy nie masz przycisk „Więcej” i nadal nie chce „pustych komórek”, utwórz pusty stopkę:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 

jakiegoś powodu istnienia od tableFooterView usuwa „pustych komórek” po rzeczywistych komórek .

+1

Najlepsze znalezisko! – theraven