我有一个viewController
,他的财产中有WKWebView
。
我使viewController
实现UIScrollViewDelegate
,并在'didScroll'中放入了一些代码,这些代码不会让scrollView
垂直滚动。
像这样:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x, 0);
}
scrollView
上也尝试过,并且效果很好。我将webView.scrollView
的代表设置为viewController
。
我还制作了一种遍历subViews
的所有webView
的方法,如果遇到另一个scrollView
,它会设置该{{1} }成为delegate
。
毕竟它仍然不起作用...
scrollView
在viewController
之后,我发现我的-(void)setDelegateForScrollViewsInView:(UIView *)view{
if (view.subviews.count > 0) {
for (UIView *subView in view.subviews){
if ([subView isKindOfClass:[UIScrollView class]]) {
[((UIScrollView *)subView) setDelegate:self];
[((UIScrollView *)subView) setShowsHorizontalScrollIndicator:false];
[((UIScrollView *)subView) setBackgroundColor:UIColor.blueColor];
}
[self setDelegateForScrollViewsInView:subView];
}
}I }
建立在该等级体系中:
而且我的方法无法捕获内部View Debugger
,因此禁用垂直滚动将不起作用。
我该如何解决?