Używam szablonu xcode do tworzenia aplikacji UITableView z UINavigationController.Jak dodać UIView powyżej UITableView w iOS?
Potrzebuję dodać UIView (w ustalonej pozycji) między UINavigationBar i UITableView. Jak to zrobić ?
Dzięki.
Używam szablonu xcode do tworzenia aplikacji UITableView z UINavigationController.Jak dodać UIView powyżej UITableView w iOS?
Potrzebuję dodać UIView (w ustalonej pozycji) między UINavigationBar i UITableView. Jak to zrobić ?
Dzięki.
Można zrobić to ustawiając właściwość UITableView o wartości tableHeaderView
.
tableHeaderView
Zwraca widok akcesorium, które jest wyświetlane nad tabelą.
@property (nonatomic, zachowują) UIView * tableHeaderView
Dyskusja Domyślna wartość jest zerowa. Widok nagłówka tabeli to różni się od nagłówka sekcji.
Dostępność Dostępne w iOS 2.0 i nowszych wersjach.
Dodaj UIView i UITableView jako subviews z UIView a następnie ustawić ich wysokość, szerokość i X, Y stanowisko od inspektora Rozmiar interfejs konstruktora lub Użyj CGRectMake
w Objective-C
Widoki są utrzymywane w hierarchii w systemie iOS. Są one utrzymywane przede wszystkim jako macierz z najnowszym widokiem. Aby wstawić jakiś widok pod jednym lub kilkoma widokami, wystarczy manipulować nim.
Wszystko to jest teoria, nie zrobiłem tego, co chcesz. Więc nie miej do mnie pretensji;) jest to przyjacielska sugestia.
[self.view insertSubview:yourNewView belowSubview:navigationController];
Nie dotyczy to jednak ramek. –
trzeba zaimplementować następujące UITableView metod delegata
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
Te metody delegatów dodadzą widok do nagłówka sekcji **, a nie powyżej samego widoku tabeli. – Mutix
Zakładam, że w widoku tabeli jest tylko ** jedna sekcja ** –
etap 1) utworzyć widok nagłówka jak ustawić wylot do tego widoku.
@property (nonatomic, strong) IBOutlet UIView * viewHeader;
Setp 2) dodawania po jednym kodem linii na viewDidLoad
[self.tableview setTableHeaderView: self.viewHeader];
Zrobione !!!
Ta metoda wymaga ode mnie ponownego skonfigurowania źródła danych i delegowania UITableView. Nie wystarczająco przyjazny. – user403015
Myślę, że jego aplikacja jest typu nawigacji, który ma klasę dziedziczone z UITableViewController. –
@ user403015 Jeśli chcesz, aby UIView na górze został naprawiony, jest to jedyny sposób na obsłużenie go. – theTRON