我有UIScrollView和約20項(UIViewControllers)。我在每個頁面上都有按鈕,可以幫助我在這20個項目之間跳轉。所以,如果我在第一個視圖,並按下按鈕,將我帶到第18項,整個滾動視圖滾動到該視圖和動畫滾動操作,所以我能夠看到第1和第18項之間的所有視圖。在沒有動畫的情況下滾動到UIScrollView中的特定視圖
是否有可能從1跳轉到滾動視圖的18項沒有這個長篇動畫(我想看到的動畫就像我相鄰兩個項目之間滾動)?
我想這行代碼會幫助我阻止這個長期滾動動畫:
[scrollView scrollRectToVisible:rect animated:NO];
,但沒有運氣。
有什麼建議嗎?
[編輯#1]方法我在哪裏滾動到特定視圖看起來是這樣的:
// I found view controller to which I want to scroll
CGRect rect = selectedViewController.view.frame;
float duration; // I calculate animation duration in some way now
[UIView beginAnimations:@"ScrollRectToVisible" context:nil];
[UIView setAnimationCurve:UIViewAnimationTransitionNone];
[scrollView scrollRectToVisible:rect animated:NO];
[UIView commitAnimations];
有了這個代碼,當我從第一次滾動到UIScrollView的最後一個視圖,應用滾動到最後視圖,並且動畫會持續計算的持續時間值。我看到每個視圖都存在於第一個和最後一個之間。我的願望是立即從第一個視圖滾動到最後一個視圖,而沒有看到它們之間的所有視圖。
當我改變crollRectToVisible行:
[scrollView scrollRectToVisible:rect animated:YES];
同樣的事情發生,只是這一次滾動動畫偏偏喜歡快5倍,但仍顯示之間的所有意見。
當我從方法除去動畫,過渡立即發生。我的問題是如何實現這個動畫的最後一個視圖,看起來一樣滑動到UIScrollView中的鄰居視圖?
你的意思是沒有運氣?沒有變化或動畫,你不想要發生? – 2012-08-14 10:44:49
嘗試setContentOffset – 2012-08-14 10:44:52
@Nikita Pestrov:我現在將編輯原始問題以回答您的問題。 – uerceg 2012-08-14 10:52:49