ios - UIScrollView 将 View 推送到 UINavigationController 后停止工作

标签 ios uiscrollview uinavigationcontroller

如果我将某些内容推送到导航 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/

相关文章:

iphone - iOS 5中的Twitter使用ARC泄漏内存

ios - 为什么 UITableView 和 UIScrollView 的 bounds 属性中的 "Y"值最初是 "-64"?

iOS ScrollView 不会通过自动布局滚动并以编程方式添加 View

ios - 如何找出哪个类(class)插入了我?

ios - 导航栏在第二次和后续出现时隐藏在 View Controller 上

iphone - UINavigationController:相反方向的弹出 View Controller

ios - iPad - UIPageViewController - "dequeueReusableCellWithIdentifier"种选项

iphone - UIBezierPath 未在 drawRect 中绘制

ios - UICollisionBehavior 仅在第一次添加后起作用

ios - 如何知道 View 中心是否与其他 View 中心重合?