我已经添加了html文件来加载UIWebview内部并且工作正常。 然后(UIWebview)滚动更快的延迟加载文本,它在滚动更快时出现白色背景。我想在滚动更快的同时删除白色背景。
是否可以按时加载UIActivityIndicatorView,请跟我一起
先谢谢
答案 0 :(得分:0)
因为UIScrollview中的事件跟踪阻止了主线程。
您可以尝试在另一个Web操作之前强制滚动滚动结束滚动(或减速)。
我使用了你的原始解决方案,这似乎工作得很好。我觉得你几乎已经拥有了它,但是你只是偏移了你过多使用的矩形,忘记了你可以直接将矩形滚动回原来的矩形。
任何滚动操作的通用解决方案是:
- (void)killScroll
{
CGPoint offset = scrollView.contentOffset;
offset.x -= 1.0;
offset.y -= 1.0;
[scrollView setContentOffset:offset animated:NO];
offset.x += 1.0;
offset.y += 1.0;
[scrollView setContentOffset:offset animated:NO];
}
[编辑]从iOS 4.3开始(可能更早),这似乎也可以正常工作
- (void)killScroll
{
CGPoint offset = scrollView.contentOffset;
[scrollView setContentOffset:offset animated:NO];
}
答案 1 :(得分:0)
我想我发现了这个问题。它看起来像iPhone上的NSURLRequestReturnCacheDataElseLoad和NSURLRequestReturnCacheDataDontLoad。当从缓存返回NSCachedURLResponse并且它包含指示内容已过期的HTTP标头(例如Expires,Cache-Control等)时,将忽略缓存的响应并请求原始源。
解决方案如下:
实现您自己的NSHTTPURLResponse子类,它允许您修改allHeaderFields字典。 实现您自己的NSURLCache,覆盖cachedResponseForRequest:并返回一个新的NSCachedURLResponse,其中包含NSHTTPURLResponse子类的实例,并删除相关的“到期”HTTP标头。