Entschuldigung für den langen und selbsterklärenden Titel, aber UIScrollView hat so viele Fragen aufgeworfen, dass ich es schwierig finde, die zu erreichen, die in verschiedenen Situationen helfen könnten.
Ich habe verschachtelte Scrollviews in meiner iPad-App. So weit so gut, alles hat seine Höhen und Tiefen, aber seine ganz glatt und reaktionsschnell. Meine äußere Scrollansicht ist eine Seitenansicht, die Vollbild- oder größere Inhaltsscrollviews enthält. Die äußere Bildlaufansicht ist horizontal und die innere vertikal. Wie bei der Fotogalerie. Ich habe festgestellt, dass beim Zoomen und Scrollen in der inneren Bildlaufansicht eine merkliche Verzögerung bei der Erkennung langsamer und langer Wischgesten auftritt. NUR, wenn die Bildlaufansicht bis zum unteren Rand des Inhalts gescrollt wurde und das Bouncing ausgeschaltet ist.
die andere Sache ist, dass die innere Scrollview bouncing Eigenschaft YES/NO pseudo-zufällig geht. Also, das ist der Code in den Konstruktor, der die inneren scrollviews, die handeln oben festgelegt:
if (UIInterfaceOrientationIsPortrait(forOrientation)) {
self.minimumZoomScale = 1.0;
self.maximumZoomScale = 1.0;
self.bounces = NO;
self.alwaysBounceVertical = NO;
self.scrollEnabled = NO;
}else if (UIInterfaceOrientationIsLandscape(forOrientation)){
self.minimumZoomScale = 1.333333f;
self.maximumZoomScale = 1.333333f;
self.bounces = YES;
self.alwaysBounceVertical = YES;
self.scrollEnabled = YES;
}
self.scrollsToTop = NO;
self.showsVerticalScrollIndicator = YES;
self.showsHorizontalScrollIndicator = NO;
self.directionalLockEnabled = YES;
self.delegate = self;
self.pagingEnabled = NO;
self.canCancelContentTouches = NO;
self.delaysContentTouches = YES;
Wenn das iPad gedreht wird, kommt und geht das Bouncing auch für die Scroll-Ansicht und hat ebenfalls einen Bouncing-Störer.
Ist das ein Fehler oder liegt es nur an mir, dass ich es versaue?
vielen Dank im Voraus für Ihre Zeit und Ihr Interesse!
UPDATE: Ich bin Verschachtelung zwei scrollviews, die eigentlich Subclasses von UIScrollView sind. Ich tue dies, weil ich hitTest und andere Methoden sowie überschreiben müssen. Ich habe auch die hier beschriebene bessere Lösung ausprobiert http://openradar.appspot.com/8045239 und haben keine guten Ergebnisse erzielt.