NSURLRequest won#39;t fire while UIScrollView is scrolling(NSURLRequest 在 UIScrollView 滚动时不会触发)
问题描述
我有一个问题,我试图在用户在 UIScrollView 周围移动时在后台加载声音文件...问题是我正在使用 NSURLRequest 所以我可以在后台加载,但即使这样它也拒绝实际加载直到 UIScrollView 停止滚动.:(
I have a problem in that I am trying to background load a sound file while the user moves around a UIScrollView... The problem is that I am using NSURLRequest so I can load in the background, but even then it refuses to actually load until the UIScrollView has stopped scrolling. :(
对此我有什么办法吗?
谢谢!
推荐答案
NSURLRequest
只管理请求,不管理实际连接.
The NSURLRequest
only manages the request, not the actual connection.
滚动等触摸事件会将运行循环置于NSEventTrackingRunLoopMode
.默认情况下,NSURLConnection
被调度为仅 在 NSDefaultRunLoopMode
中执行.所以在 NSEventTrackingRunLoopMode
中,NSDefaultRunLoopMode
被阻塞了.
Touch events such as scrolling will place the run loop into NSEventTrackingRunLoopMode
. By default, an NSURLConnection
is scheduled to only execute in NSDefaultRunLoopMode
. So while in NSEventTrackingRunLoopMode
, NSDefaultRunLoopMode
is blocked.
好消息是您可以为 NSURLConnection
安排其他模式,例如 NSRunLoopCommonModes
.
Good news is that you can schedule additional modes for an NSURLConnection
, such as NSRunLoopCommonModes
.
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
[connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
[connection start];
这篇关于NSURLRequest 在 UIScrollView 滚动时不会触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:NSURLRequest 在 UIScrollView 滚动时不会触发


基础教程推荐
- NSString intValue 不能用于检索电话号码 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01