scrollsToTop不工作的时候UIWebView用pushViewController,寻找解决方案
题
我有一个应用程序与表视的根源在航控制,并在选择的一个表格显示一个新的视图控制器,只包含一个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;
}
再见!