簡體   English   中英

帶分頁動畫的UIscrolview自動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM