簡體   English   中英

UIPageViewController-翻轉到隨機頁面需要花費大量時間

[英]UIPageViewController - flip to random page takes lot of time

正在開發基於頁面的iPhone App。 現在,只需單擊一個按鈕,即可切換到隨機頁面。 翻轉時,首先調用新頁面的viewDidAppear,然后調用當前頁面的viewDidDisappear(這是預期的行為)。 新頁面很快出現(我在viewDidAppear中打印了[NSDate date]的打印),但是當前平均在新頁面的viewDidAppear出現30到40秒后調用當前頁面的“ viewDidDisappear”之間沒有其他方法可調用;我將NSLog放入每個方法中以查看是否正在調用其他方法! 因此,它是這樣的:1.新頁面的viewDidAppear稱為&結束(我通過打印viewDidAppear的開始和結束時間進行了檢查)幾乎是2.在30至40秒(“ viewDidAppear of”之后)沒有任何反應新頁面“結束”)。3.然后,當前頁面的viewDidDisappear稱為! (&我在viewDidDisappear / viewWillDisappear中沒有任何處理;僅打印當前時間)

為什么兩者之間會有這么長時間的停頓?

這是我的相關代碼段:(環境:XCode 4.3,iOS 5.0,使用iPad進行測試)

轉到隨機頁面的代碼:

NSMutableArray *array = [[NSMutableArray alloc] init];
ViewController_EachPage *page = [self getPageAtIndex:randomPageNum];
if ((page != nil) && (page != NULL)) {
    [array insertObject:page atIndex:0];
}
[self.viewCtrlrPages 
     setViewControllers:[NSArray arrayWithArray:array]  
    direction:UIPageViewControllerNavigationDirectionForward 
     animated:YES completion:nil];

viewDidAppear方法

....
self.timer = [NSTimer scheduledTimerWithTimeInterval:10.0f
                target:self selector:@selector(hideThem)
                userInfo:nil repeats:NO];   

[((com_AppDelegate *) [[UIApplication sharedApplication] delegate]).viewCtrlrCoverPage.viewCtrlrPages initializePage];

NSLog(@"EachPage.viewDidAppear at %@", [NSDate date]);
....

viewDidDisappear方法

-(void) viewWillDisappear:(BOOL)animated {
    NSLog(@"EachPage.viewWillDisappear");
    [self.timer invalidate];
}

-(void) viewDidDisappear:(BOOL)animated {
    NSLog(@"EachPage.viewDidDisappear at %@", [NSDate date]);
}

您無法在viewWillAppear / viewWillDisappear等中調用超級。不好的主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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