Suggestion from Apple: use kCFRunLoopCommonModes which does more complete event processing
diff --git a/src/video/uikit/SDL_uikitevents.m b/src/video/uikit/SDL_uikitevents.m
index 7083e20..85d6dca 100644
--- a/src/video/uikit/SDL_uikitevents.m
+++ b/src/video/uikit/SDL_uikitevents.m
@@ -56,14 +56,9 @@
     /* Pump most event types. */
     SInt32 result;
     do {
-        result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, seconds, TRUE);
+        result = CFRunLoopRunInMode(kCFRunLoopCommonModes, seconds, TRUE);
     } while (result == kCFRunLoopRunHandledSource);
 
-    /* Make sure UIScrollView objects scroll properly. */
-    do {
-        result = CFRunLoopRunInMode((CFStringRef)UITrackingRunLoopMode, seconds, TRUE);
-    } while(result == kCFRunLoopRunHandledSource);
-
     /* See the comment in the function definition. */
     UIKit_GL_RestoreCurrentContext();
 }