我有一个视图控制器(让我们称之为MainViewContoller
),它存在 3 个不同的表(一次一个),用户可以点击一个段控件在这些表之间切换。
为了呈现这 3 个表,MainViewContoller
有 3 个其他视图控制器(A、B 和 C),每个都有一个UITableView
作为子视图并处理它自己的数据。
当 aMainViewContoller
被加载时,它会启动控制器 A、B 和 C,并将它们的 tableViews 添加到它的视图中:
- (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];
}
因此,例如,当用户点击段控件并选择 A 时,MainViewContoller
隐藏表 B 和 C,并取消隐藏表 A。像这样:
if (userTapOnA) {
self.viewControllerA.tableView.hidden = NO;
self.viewControllerB.tableView.hidden = YES;
self.viewControllerC.tableView.hidden = YES;
}
问题:
当用户点击状态栏时,我希望当前可见表格滚动到顶部。
这种行为是非常基本的,使用常规视图控制器时可以免费获得它,但正如您所见,我的视图控制器不是常规的。
我想通过使用其他控制器视图作为MainViewContoller
视图我打破了默认行为,所以我MainViewContoller
不处理状态栏点击。
有人知道如何解决这个问题吗?