Ich habe einen View-Controller (lasst es MainViewContoller
nennen), der 3 verschiedene Tabellen (eine nach dem anderen) enthält, kann ein Segment-Steuerelement tippen, um zwischen diesen Tabellen zu wechseln.Scrollen Sie nach oben, wenn Sie auf die Statusleiste tippen
Um diese 3 Tabellen zu präsentieren, hat MainViewContoller
3 andere View-Controller (A, B und C), jeder hat eine UITableView
als Subview und handle seine eigenen Daten.
Wenn ein MainViewContoller
geladen wird, initiieren sie Controller A, B und C und ihre Tableviews in den es nach Ansicht der:
- (void)viewDidLoad {
[super viewDidLoad];
ViewControllerA *vcA = [ViewControllerA alloc] init];
[self.view addSubview:vcA.view];
ViewControllerB *vcB = [ViewControllerB alloc] init];
[self.view addSubview:vcB.view];
ViewControllerC *vcC = [ViewControllerC alloc] init];
[self.view addSubview:vcC.view];
}
Beispiel also für, wenn der Benutzer die Segmentsteuerung tippen und A wählen, die MainViewContoller
ausblenden Tabellen B und C und sichtbar machen Tabelle A. Etwas wie folgt aus:
if (userTapOnA) {
self.viewControllerA.tableView.hidden = NO;
self.viewControllerB.tableView.hidden = YES;
self.viewControllerC.tableView.hidden = YES;
}
Das Problem:
Wenn Benutzer tippen Sie auf die Statusleiste ich möchte dass die aktuelle sichtbare Tabelle nach oben scrollt.
Dieses Verhalten ist ziemlich einfach und man bekommt es kostenlos, wenn man einen normalen View-Controller benutzt, aber wie man sehen kann, ist mein View-Controller nicht regulär.
Ich nehme an, dass durch die Verwendung anderer Controller anzeigen als MainViewContoller
Ansicht ich das Standardverhalten zu brechen, so dass meine MainViewContoller
nicht behandelt die Statusleiste tippen.
Jemand hat eine Idee, wie man das löst?
10x, das war sehr hilfreich :) – Eyal