scrollsToTop不工作的时候UIWebView用pushViewController,寻找解决方案

StackOverflow https://stackoverflow.com/questions/1808063

  •  05-07-2019
  •  | 
  •  

我有一个应用程序与表视的根源在航控制,并在选择的一个表格显示一个新的视图控制器,只包含一个UIWebView(与一个工具栏和一个航栏).

根据我本的新网页查看,功能,用户可以在其中点击状态条顶部和有webview滚动到,无论是工作或不工作。

如果我使用:

  • (void)presentModalViewController:(UIViewController*)modalViewController动画:(BOOL)的动画

在RootView,然后webview不滚动的顶端。

如果我改变这一行代码,而不是使用:

  • (void)pushViewController:(UIViewController*)viewController动画:(BOOL)的动画

在浏览控制器,那么scrollsToTop功能停止工作。

我真的想要使用但是,由于其他原因的背景下应用程序,是pushViewController方法。但是,我也希望保持scrollsToTop的行为。

我迄今为止,尝试了各种办法,有些所述的这里:

-试图设置的webview内部滚动型scrollsToTop酒店

((UIScrollView *)[[webView valueForKey:@"_internal"] valueForKey:@"scroller"]).scrollsToTop = YES;

(没有明显的效果)。

-改变排序的设置导航栏性或不设置任何在所有 -额外增加"窗口makeKeyAndOrderFront"呼吁在新的视图的推动。

我不相信还有其他意见有可以自称的"scrollsToTop"的财产(与第一次试验上证明,在任何情况下)。

短的尝试嵌入UIWebView成UIScrollView,我希望会很痛苦,我已经跑出去的路径,以探讨解决这个问题。

我希望其他人已经找到了一种方法来纠正这个吗?

有帮助吗?

解决方案 2

事实证明,这不是工作的方式,因为我customiing导航栏.我是压倒一切的leftBarButtonItem与UIBarButtonItem,然后把整个航栏(我认为我采取了这种做法从一些苹果代码许多个月以前,但不肯定的)。我用的是同样的方法在另一种观点和scrollsToTop工作的现有。

把这码出来并且把定义的导航栏看到(例如)自我。navigationController.titleView而不是解决这个问题。我真的不知道为什么,就像我说的它工作正常的其他看法。

我浪费了很多时间这个问题,所以我希望我拯救其他人的一些头发描述它在这里:)

其他提示

试试反向的办法作为一种解决方法。

在根视控制器:

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    self.tableView.scrollsToTop = NO;
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.tableView.scrollsToTop = YES;
}

再见!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top