Cześć, mam TableViewController
dwie statyczne komórki, jednak po wyświetleniu pokazuje dwie statyczne komórki, a następnie wszystkie inne puste komórki dla widoku tabeli. Jednak nie chcę wyświetlać tych komórek, ponieważ są bezużyteczne. Jak ukryć pozostałe komórki poza dwoma statycznymi komórkami?
118
NSTableView
? Nie matableFooterView
.tableView.tableFooterView = UIView()
Wybierz swój UITableView, przejdź do inspektora atrybutów i zmień styl na Grouped.
źródło
Aby dodać do tego, dlatego ustawienie
tableFooterView
sięUIView()
dlatego, że ustawienie jest pusty usuwa wierszeUIView()
obiekt do nieruchomości. Zgodnie z dokumentacją Apple:Dlatego ustawienie pustej funkcji UIView () nie spowoduje wyświetlenia niczego poniżej danych dla tej właściwości.
Możesz przywrócić puste wiersze, resetując
tableFooterView
do wartości domyślnej, na przykład:źródło
Ustawienie
tableFooterView
powinno usunąć dodatkowe widoki przypominające komórki.źródło
Możesz to osiągnąć również w Storyboard, po prostu przeciągając widok do obszaru stopki widoku tabeli, a następnie ustaw jego wysokość i kolor tła na 1 i wyczyść odpowiednio za pomocą Inspektora właściwości.
(Zakłada się, że z jakiegoś powodu nie możesz lub nie chcesz po prostu używać ustawienia Styl grupy. W przeciwnym razie po prostu zrób to.)
źródło
Swift 4 Rozwijając odpowiedź HorseT, najpierw przeciągnij kontrolkę z widoku tabeli w swoim scenorysie, do klasy kontrolera widoku i utwórz gniazdko o nazwie tableView.
Następnie Twój viewDidLoad w kontrolerze widoku powinien wyglądać mniej więcej tak:
źródło
Na podstawie powyższych odpowiedzi w szybki .
źródło
jeśli chcesz usunąć wszystkie wiersze
UITableViews
w swojej aplikacji, po prostu dodaj takie rozszerzenie:Swift 5.0
źródło
Wywołaj ten kod w
viewDidLoad
metodzie.źródło
Dodaj poniższy kod w swoich funkcjach "override func viewDidLoad ( ) " lub "override func viewWillAppear (_ animated: Bool)" .
źródło
Po prostu dodaj:
Wyjaśnienie:
Jest to całkowicie poprawne i działa doskonale w swift 3.By Ponieważ ustawiasz pusty obiekt UIView () na właściwość, ustawienie tableFooterView na UIView () usuwa wiersze.
źródło
Abobe anwer ma rację. Możemy to osiągnąć, dodając
źródło
Wypróbowałem tableview.tableFooterView = UIView () i nie działało to dla mnie. Używam niestandardowego TableViewViewCell, być może dlatego.
Znalazłem hack tho. W moim func numberOfRowsInSection
I to sprawia, że mój dodatkowy pusty niestandardowy UITableViewCell nie jest już wyświetlany. Oczywiście jest to wyjątkowo puste. Przetestuję to trochę więcej, dodając więcej komórek. Dla porównania używam Swift 3, Firebase, niestandardowej klasy komórek, wewnątrz funkcji cellForRowAt.
źródło