[英]UIscrolview with paging annimated automatic
我有一個帶有分頁的scrolview這是一張帶有4張圖片的幻燈片的scroll視圖,與用戶交互很好用,所以我的問題是我想在沒有用戶交互的情況下將此scrolview scrol自動設置為像橫幅廣告一樣,這是我在view didload中的代碼:
[UIScrollView beginAnimations:nil context:nil];
[UIScrollView setAnimationDuration:4.0];
[UIScrollView setAnimationDelay:4.0];
[scroller setContentOffset:CGPointMake(320, 98)];
[UIScrollView commitAnimations ];
在這種方式scrol自動工作,但問題scrol等待4秒,然后去第二個圖像,並停止,如果我添加此代碼
[UIScrollView beginAnimations:nil context:nil];
[UIScrollView setAnimationDuration:4.0];
[UIScrollView setAnimationRepeatAutoreverses:YES];
[UIScrollView setAnimationRepeatCount:INFINITY];
[UIScrollView setAnimationDelay:4.0];
[scroller setContentOffset:CGPointMake(320, 98)];
[UIScrollView commitAnimations ];
滾動條在顯示第二張圖片后不會停止4s,因此在這種情況下,如果開始播放動畫,它會在開始的4s停止
所以我的問題我想這樣做:
image 1-顯示fo 4 s ----- image2 ----顯示4s ----- image3 ----顯示4s ---- image 4 ----顯示4 s- ----圖像1 ----顯示4 s ......像這樣的自動機
因此,如果有人可以在示例代碼或教程或任何文檔方面為我提供幫助,那將非常酷,因為我在Google中搜索並且發現了任何東西
創建一個間隔為4秒的NSTimer。
讓它成為射擊方法:
- (void)timerFireMethod {
horOffSet = horOffSet + 320;
//CGFloat horOffSet is an instance variable of the ViewController.
//init as 0; I assume the width is 320. Any other width possible
[scroller setContentOffset:CGPointMake(horOffSet, 98) animated: YES];
if (horOffSet == 3*320) {
horOffSet = 0;
}
}
我已經在我的較早答案中做了一個示例: UITableView是否可以一定速度平滑滾動?
如果您可以解密需要進行的更改,那么此示例與您非常相關。
以下是您需要執行的操作:現在,您想啟動動畫(甚至在頁面的開始或選擇處),您需要啟動計時器。 然后,可以在某個自定義間隔觸發一個方法,該方法將contentOffset設置得更靠右一些(適當地更改Y值)。 當您到達頁面的末尾或運行目標方法x-times(它以便利的方式存儲在屬性/全局值中)時,您可以使計時器無效。
看看我發布的問題,您會發現那里的每個難題。 您會發現。
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.