UIScrollView在将视图推送到UINavigationController后停止工作

如果我把东西推到导航控制器,然后回到主页面,我的主页面的滚动视图停止工作。 如果我重新打开应用程序而不向导航控制器推送任何东西,它正常工作。 滚动视图是延伸到框架外的水平滚动视图。 我使用它来滚动浏览button,就像在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]; 

当视图控制器被popup,导航控制器移回主页面时,我隐藏了导航条。

  - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { if(viewController == self){ [self.navigationController setNavigationBarHidden:YES]; NSLog(@"%d", [self.scrollMenuBar isScrollEnabled]); } } 

检查isScrollEnable返回true。

我试图推出一个正常的模态视图,并出现相同的问题。

如果您在viewDidLayoutSubview函数中调整滚动视图的内容大小,它将再次工作。

 - (void) viewDidLayoutSubviews { [self resizeScrollViewContent]; } 

添加[self.scrollbarMenu setScrollEnabled:YES]; 在viewdid主页面出现

 [scroll setContentSize:CGSizeMake(width , height)]; 

如果它不工作2种可能性

  1. 内存无效。
  2. 一些其他的视图滚动视图上方

通过以编程方式创buildUIScrollview和其中的button解决了问题。 不知道我的故事板有什么问题,但这是一个痛苦。