我有一個頁面控制器,裏面有三個頁面或視圖控制器。在我調用切換頁面的方法(病態下面)並嘗試滑動到另一個頁面之後,動畫運行起來非常緩慢且波濤洶涌。大多數情況下,視圖也會與視圖控制器不適合屏幕的框架混淆。我認爲,實際上不是切換頁面而是再次創建一個新的實例,但我似乎無法弄清楚它爲什麼會這麼慢,因爲在我的普通代碼中,我根據需要實例化每個視圖,並且它不會慢當我滑動切換視圖時向下。非常不連貫,在UIPageViewController中實例化一個頁面後頁面變慢
(它也需要5秒左右滑動到下一個視圖)
而且當我改變看法,我重新排序「viewControllerBeforeViewController」法在我的頁面視圖控制器,這樣的意見的順序保持不變當我滑動。
更新:我在我的一個視圖中設置了一個攝像頭。我相信這是造成緩慢,因爲當我跳過加載視圖一切都很好。不過,我需要加載鑑於我的應用程序:/
這裏是我的代碼:
- (void)handleButtonTap:(NSNotification *)notification
{
changeOrder=1;
[self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"one"] ] direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[NavView2ViewController class]])
return nil;
if(changeOrder ==1)
{
if ([viewController isKindOfClass:[NavView2ViewController class]])
{
return nil;
}
if ([viewController isKindOfClass:[MainStoryViewController class]])
{
return [self.storyboard instantiateViewControllerWithIdentifier:@"Profile"];
}
return [self.storyboard instantiateViewControllerWithIdentifier:@"Main"];
}
return [self.storyboard instantiateViewControllerWithIdentifier:@"Profile"];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[NavViewController class]])
return nil;
if(changeOrder==1)
{
if ([viewController isKindOfClass:[MainStoryViewController class]])
{
return [self.storyboard instantiateViewControllerWithIdentifier:@"one"];
}
return [self.storyboard instantiateViewControllerWithIdentifier:@"Profile"];
}
return [self.storyboard instantiateViewControllerWithIdentifier:@"one"];
}