它看起来像一个可以有简单解决方案的问题,但我没有找到任何可能导致它的方法.我在UIScrollView中使用UIWebView并点击statusBar(将内容滚动到顶部)不起作用.
我做了简单的测试应用程序,看看它是否真的是UIWebViews的错误.它确实是.
// scrolls to top on status bar tap
UIScrollView *sv = [[UIScrollView alloc] init];
sv.frame = CGRectMake(0, 0, 320, 480);
sv.contentSize = CGSizeMake(320, 1200);
[self.view addSubview:sv];
Run Code Online (Sandbox Code Playgroud)
// doesn't scroll
UIScrollView *sv = [[UIScrollView alloc] init];
sv.frame = CGRectMake(0, 0, 320, 480);
sv.contentSize = CGSizeMake(320, 1200);
UIWebView *wv = [[UIWebView alloc] init];
wv.frame = CGRectMake(0, 0, 320, 100);
[sv addSubview:wv];
[self.view addSubview:sv];
Run Code Online (Sandbox Code Playgroud)
所以,我想也许我可以禁用一些东西让UIWebView不要乱用scrollToTop?或者某种解决方法也很好.
有任何想法吗?
我的应用有一个UITableView.UITableView有一个标题视图,它是一个UIWebView.
默认情况下,滚动视图的scrollsToTop属性设置为YES,这将使用户可以点击状态栏滚动到滚动视图的顶部.
如果在一个视图中嵌入了两个滚动视图,它们都将其scrollsToTop属性设置为YES,则点击状态栏不会执行任何操作.
解决方案是将其中一个scrollsToTop属性设置为NO.这会重新启用状态栏.
现在问题是:UIWebView没有公开它的滚动视图,因此无法访问它的scrollsToTop属性.我只希望在点击状态栏时滚动到顶部的表视图,而不是Web视图.
有谁知道我怎么能做到这一点?
我知道当你有多个可滚动视图时setScrollsToTop会感到困惑,但是有什么方法可以解决这个问题吗?你能指定哪个视图滚动到顶部,从而澄清它的属性?
例如,我在视图中有myScrollView和myTableView
如何设置它,以便只有myTableView在点击状态栏时滚动到顶部?
或者,当点击状态栏时是否有通知(或者我也可以订阅)?
在此先感谢,我希望这是有道理的!