Die Verzögerung kann die Verzögerung sein, die aufgetreten ist, um festzustellen, welche Teilansicht Sie berührt haben.
Wenn Sie irgendwo in Ihrem Fenster in Ihrer Anwendung berühren, das Fenster der App ruft hitTest:withEvent:
Methode auf der meisten Top-Ansicht in der Ansichtshierarchie, die rekursiv hitTest:withEvent:
für seine Subviews ruft schließlich die Ansicht zu erkennen, dass und Griffe tatsächlich erhält das Berührungsereignis. Im Grunde genommen ist die Anzahl der Unteransichten in Ihrem View-Controller umso größer, je länger die Verzögerung ist, bis die tatsächliche Ansicht reagiert. Die rekursiven Aufrufe an hitTest:withEvent:
kehren ein bisschen verzögert zurück, deshalb sehen Sie die Verzögerung. Das Entfernen des des übergeordneten Ansichtscontrollers führt nicht zu einer großen Verzögerung, da Sie die Anzahl der Subviews für den View-Controller verringern. Auch wenn mehr Scroll-Ansichten (oder mehr Subviews im Allgemeinen) involviert sind, geben Sie UIResponder
ein, um mehr Subviews zu durchlaufen, um die Ansicht zurückzugeben, die das Touch-Ereignis behandelt.
Schwer zu sagen. Aber mir passierte einmal, dass ein hinzugefügter (Tipp-) Gestenerkenner im Konflikt mit der Tabellenansicht stand, was zu etwas ähnlichem führte, das du beschreibst. –
Ja, das ist es. Wie würde ich dem Tableview Priorität geben? –
In meinem Fall entfernte ich den Gestenerkenner, da er nicht da sein sollte, während die Tabellenansicht sichtbar war. Für Sie sieht dies wie die Antwort aus, die Sie benötigen https://stackoverflow.com/questions/8192480/uitapgesure recognizer-breaks-passableview-didselectrotindexpath –