Chcę dodać nagłówek tabeli (nie nagłówki sekcji), jak w aplikacji kontaktów, na przykład:
dokładnie tak - etykieta obok obrazu nad tabelą.
Chcę, aby widok całości był przewijalny, więc nie mogę umieszczać ich poza stołem.
Jak mogę to zrobić?
iphone
ios
uitableview
Assaf b
źródło
źródło
public override UIView GetViewForHeader(UITableView tableView, nint section) { return headerView; } public override nfloat GetHeightForHeader(UITableView tableView, nint section) { return headerView.Frame.Height; }
Możesz to zrobić całkiem łatwo w Interface Builder. Po prostu utwórz widok z tabelą i upuść inny widok na stół. Będzie to widok nagłówka tabeli. Dodaj etykiety i obraz do tego widoku. Zobacz zdjęcie poniżej, aby zobaczyć hierarchię widoków.
źródło
W Swift :
źródło
Możesz także po prostu utworzyć TYLKO UIView w narzędziu do tworzenia interfejsów i przeciągnąć i upuścić ImageView i UILabel (aby wyglądał jak żądany nagłówek), a następnie użyć tego.
Gdy Twój UIView będzie wyglądał tak, jak chcesz, możesz go programowo zainicjować z XIB i dodać do swojego UITableView. Innymi słowy, nie musisz projektować CAŁEGO stołu w IB. Tylko headerView (w ten sposób widok nagłówka może być ponownie użyty w innych tabelach)
Na przykład mam niestandardowy UIView dla jednego z moich nagłówków tabeli. Widok jest zarządzany przez plik xib o nazwie „CustomHeaderView” i jest ładowany do nagłówka tabeli przy użyciu następującego kodu w mojej podklasie UITableViewController:
źródło
źródło