2013-05-14 82 views
1

如果我将某些内容推送到导航控制器然后弹回到主页,我的主页中的scrollview停止工作。如果我重新打开应用程序而不向导航控制器推送任何东西,它正常工作。滚动视图是延伸到框架外的水平滚动视图。我使用它来滚动浏览按钮,例如在iOS中切换应用程序(iOS多任务)。UIScrollView在将视图推送到UINavigationController后停止工作

这是我推一个新的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]; 

当视图控制器弹出,导航控制器回迁主页我隐藏的导航栏的代码。

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

检查isScrollEnable返回true。

我试着推动一个普通的模态视图,并发生同样的问题。

+0

还检查scrollView的内容大小,它保持不变。坡平 – Bonnie 2013-05-14 09:10:06

+0

是之后,它仍然是相同的@Bonnie – harinsa 2013-05-14 09:14:01

回答

0

问题通过创建的UIScrollView和编程里面的按钮解决。不知道我的故事板有什么问题,但这是一种痛苦。

+0

也许禁用Autolayout也可以解决问题。 – harinsa 2013-05-20 05:00:31

0

在viewdidAppear添加 [self.scrollbarMenu setScrollEnabled:YES];主网页

添加

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

不过,如果它不工作 2的可能性

  1. 内存无效。
  2. 其它一些视图来滚动视图上述
+0

仍然无法正常工作 – harinsa 2013-05-14 09:19:48

+0

添加内容的大小也有,然后再试一次 – 2013-05-14 09:24:12

+1

仍然无法正常工作,我检查了scrollEnable和contentSize仍然流行 – harinsa 2013-05-14 09:27:47

1

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

- (void) viewDidLayoutSubviews { 
    [self resizeScrollViewContent]; 
} 
相关问题