mag ich Jeremy Jay-Lösung (obwohl ich habe es nicht getestet), aber nur um die Idee gründlich zu erforschen ... hier ist eine weitere, die es wert wäre zu versuchen (obwohl sie auch noch nicht getestet wurde):
Verwenden Sie zwei Bildlaufansichten.
Eine Bildlaufansicht (wir nennen dies die "echte") enthält Ihren Inhalt, aber seine Anzeigen sind ausgeblendet. Eine andere Bildlaufansicht enthält keinen Inhalt, aber ihre contentSize
entspricht der der "echten" Bildlaufansicht. Wenn sich die "echte" Bildlaufansicht contentOffset
ändert (wie über Delegatennachrichten beobachtet), ändern Sie den Offset der "falschen" Bildlaufansicht so, dass er übereinstimmt. (Weitere Informationen über die Verwendung einer Bildlaufansicht ohne Inhaltsansicht finden Sie in der Übersicht der Bildlaufansichten von WWDC 2012.)
In der Theorie (ich habe dies noch nicht getestet) haben Sie jetzt eine Bildlaufanzeige Das ist getrennt von der ursprünglichen Bildlaufansicht und Sie können es in Bezug auf das Original beliebig platzieren. Lege es über das Original und verschiebe/grösse es so, dass es einen schmalen Streifen auf der linken Seite einnimmt und du einen Scroll-Indikator auf der linken Seite hast. (Alternativ können Sie es auf das Original legen und es horizontal mit einer affinen Transformation spiegeln.) Stellen Sie es ganz woanders hin, um Ihr UI auf eine Reise in die verrückte Stadt mitzunehmen. (Oder nicht.) Achten Sie darauf, dass Sie die Berührungen ignorieren, wenn sie oben liegen.
Dies sollte eine systemweite Einstellung sein, so dass linkshändige Benutzer Scrollbalken auf der rechten Seite haben, und Rechtshänder haben Scrollbalken auf der linken Seite. Das erzähle ich seit Jahren. – Cyrille