Ich habe google und Suche danach, aber habe nichts im Internet gefunden, um mein Problem zu lösen, aber ich denke, mein Problem wird super einfach zu lösen sein, aber ich kann nicht das richtige Keyword finden es.Autoscrolling-Funktion für UILabel
Ich habe einen Viewcontroller, der einen Text namens ReadingView enthält, eine Ansicht, die einen sehr langen Text hat, um scrollen zu können, um Text zu lesen. Wenn der Benutzer in ReadingView gehen, wird es von selbst nach unten Automatischer Bildlauf nach unten, kann der Benutzer Geschwindigkeit von UISlider Scrollen erhöhen, die i
das Problem implementiert ist, ich Autoscrolling ohne Probleme durch diesen Code tun können
[UIScrollView beginAnimations:@"scrollAnimation" context:nil];
[UIScrollView setAnimationDuration:1.0f];
[scroll setContentOffset:CGPointMake(x, y)];
[UIScrollView commitAnimations];
, aber der Code oben basiert auf der Zeit. Ich muss eine Animation basierend auf Rahmen oder Pixel finden. Da ein Text sehr lang ist, wenn ich Animation basierend auf der Zeit verwende, scrollt er sehr schnell nach unten, während der kurze Text sehr langsam ist.
Haben Sie Jungs eine Ahnung, wenn ich um 10 Pixel bis das Ende der inhaltlichen „Animation wie
Hey Scroll tun können, müssen alle FRAME Sie nach unten zu bewegen und ich sorge mich nicht, wie lange es dauert, Fixed die Geschwindigkeit !! "
Vielen Dank für Ihre Hilfe, ihr Jungs mich
indem sie mir ein Stichwort oder irgendetwas helfen könnteUPDATE Geschehen von Fogmeister des empfehlen. Das Konzept ist verwenden Blockanimation und berechnen Sie die Zeit für jeden Text mit time = Textlänge/Geschwindigkeit und Sie erhalten unterschiedliche Zeit von jedem Text und verwenden Sie diese Zeit, um Animation zu tun. Ich denke nie darüber nach .... was ich die ganze Zeit suche, ist die Animation von PIXEL, was ein falsches Schlüsselwort ist.
CGFloat scrollingPointSpeed = myslider.value; //value of UI Slider//
CGFloat time = offset/scrollingPointSpeed ;
[UIView animateWithDuration:time delay:0.0 options:UIViewAnimationOptionCurveLinear animation:^()
{
self.scroll.contentOffset = CGPointMake(0, offset);
}
completion:nil];
set setAnimationDuration basierend auf der Gesamtzahl der Zeilen in uilabel – NANNAV
Diese Methode der Animation sollte nicht in iOS 4 oder höher verwendet werden. Sie sollten blockbasierte Animationen wie in meiner Antwort verwenden. – Fogmeister