我有谷歌和搜索它,但沒有找到任何在互聯網上解決我的問題,但我認爲我的問題將超級容易解決,但我找不到正確的關鍵字爲它。UILabel自動滾動功能
我有一個viewcontroller,其中包含一個名爲ReadingView的文本,該文本具有非常長的文本以便能夠滾動以讀取文本。當用戶進入ReadingView,它本身將自動滾動下到谷底,用戶可以增加UISlider我實現
的問題是,我可以通過這個代碼
[UIScrollView beginAnimations:@"scrollAnimation" context:nil];
[UIScrollView setAnimationDuration:1.0f];
[scroll setContentOffset:CGPointMake(x, y)];
[UIScrollView commitAnimations];
做自動滾動沒有任何問題滾動的速度
但上面的代碼是基於時間的。我必須找到基於幀或像素的動畫。因爲,如果我使用基於時間的動畫,一些文本會很長,它會非常快速地向下滾動到底部,而短文本會很慢。
。你們有什麼想法,如果我能做到像動畫
「嘿滾動視圖,每一幀你必須10像素向下移動,直至 上下文的結束,我不在乎多久是否需要,修正速度!!「
感謝你的幫助,你們可以通過給我由Fogmeister的建議完成關鍵字或任何
UPDATE 幫助我。 這個概念是使用塊動畫,並通過使用 時間=文本長度/速度 來計算每個文本的時間,並且您將獲得每個文本的不同時間並使用該時間來執行動畫。我從來沒有想到這一點....我一直在尋找的是PIXEL做動畫的功能,這是一個錯誤的關鍵字。
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];
根據uilabel中的總行數設置setAnimationDuration – NANNAV
不應在iOS 4或更高版本中使用此動畫方法。你應該在我的回答中使用基於塊的動畫。 – Fogmeister