を処理中スクロールIページングとUIScrollViewのを含むアプリケーションを持っ= YESと次のテストコードで:無効タッチ/
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
sleep(1);
}
ユーザがこの1秒睡眠中にいくつかのスワイプを行う場合、すべてのスワイプイベントメインスレッドが解放されると実行され、 "ワイルド"な効果を与えます。
このブロック作業が実行されている間にタッチ/スワイプを無効にする方法はありますか(もちろん、理想的にはメインスレッドをブロックしないようにしてください)。
setUserInteraction = NO/YES
とsetScrollingEnabled = NO/YES
で「スリープ」をラップしようとしましたが、運がありません。
mainThreadで何をしていますか?負荷がいっぱいですか? –
遅延は実際には1秒ではありません - デモ用です。非常に短いかもしれませんが、何らかの作業が実行されている間に実行されたスワイプはこの動作を引き起こします。 – Egil
あなたが何であれ、スクロールビューが応答性を保つように、処理を別のスレッドに移動する必要があります。 –