如果我将某些内容推送到导航 Controller 然后弹回主页,则主页中的 ScrollView 将停止工作。如果我在没有向导航 Controller 推送任何内容的情况下重新打开应用程序,它会正常工作。 ScrollView 是超出框架的水平 ScrollView 。我用它来滚动按钮,就像在 iOS 中切换应用程序时一样(iOS 多任务处理)。
这是我推送新 vc 的代码
UIViewController *newVC = [[UIViewController alloc] init];
UILabel *label = [[UILabel alloc] initWithFrame:self.view.bounds];
[label setTextAlignment:NSTextAlignmentCenter];
label.text = [NSString stringWithFormat:@"promo %i detail view",[sender tag]];
label.backgroundColor = [UIColor whiteColor];
[newVC.view addSubview:label];
[self.navigationController setNavigationBarHidden:NO animated:NO];
[self.navigationController pushViewController:newVC animated:YES];
当弹出该 View Controller 并且导航 Controller 移回主页时,我隐藏了导航栏。
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if(viewController == self){
[self.navigationController setNavigationBarHidden:YES];
NSLog(@"%d", [self.scrollMenuBar isScrollEnabled]);
}
}
检查 isScrollEnable 返回真。
我尝试推送普通模态视图,但出现了同样的问题。
最佳答案
如果您在 viewDidLayoutSubviews 函数中调整 ScrollView 内容的大小,它将再次起作用。
- (void) viewDidLayoutSubviews {
[self resizeScrollViewContent];
}
关于ios - UIScrollView 将 View 推送到 UINavigationController 后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539058/