Как предварительно загрузить страницу в UIpage view controller swift с локальными GIF-файлами, хранящимися в проекте - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь использовать GIF в моем представлении изображений, используя расширение UIImageView. У меня есть 4 страницы в контроллере просмотра страниц с 2 гифками на каждой странице. Когда я проведу пальцем вправо, это показывает некоторое отставание после 1 страницы. например, с первой страницы на вторую страницу, она плавно смахивает, а со второй на третью показывает некоторое отставание при загрузке GIF-файлов. То же самое, когда вы возвращаетесь на второй экран с третьего, оно движется плавно, но когда я снова проведу пальцем, оно показывает небольшое отставание. так что в основном он хранит две страницы в памяти. страница, с которой вы приходите, и текущая страница. если вы проведете пальцем назад к странице, откуда вы пришли, она плавно движется, при следующем движении - это другое направление, которое не загружается до того, как оно показывает отставание.

1) Я попытался загрузить контент в viewDidAppear (). но этого было недостаточно для моей проблемы. при этом движение становится плавным, но контент загружается с задержкой.

2) Я попытался запустить все контроллеры представления в представлении UIPageViewController (). но это не сработало.

func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
    var index = (viewController as! OnBoardingController).index
    index += 1
    return contentViewController(at : index)
}


func contentViewController(at index : Int) -> OnBoardingController? {
    if index < 0  || index >= headings.count {
        return nil
    }
    else {

        let board = UIStoryboard(name: "OnBoardingStoryBoard", bundle: nil)
        if let controller = board.instantiateViewController(withIdentifier: "OnBoardingController") as? OnBoardingController {
            controller.heading = self.headings[index]
            controller.details = self.subHeadings[index]
            controller.imageName = self.imageNames[index]
            controller.imageNameSecond = self.imagesnamesecond[index]
            controller.index = index
            return controller
        }
    }
    return nil
}

Я хочу увеличить лимит предварительно загруженных страниц в PageViewController. или если бы я мог загрузить страницы в отдельном разделе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...