튜토리얼 here을 따라했는데 내 프로젝트 (code of my variation here, 죄송합니다. 복사하고 붙여 넣기에 약간 시간이 걸리기 때문에 GitHub에 넣으십시오)에 맞게 몇 가지 사항을 변경해야했습니다. 때때로 마지막 VC로 이동하기 위해 오른쪽으로 스 와이프하면 자동으로 닫힙니다. 다른 시간은 제대로 작동합니다. 마지막 VC로 스 와이프하면 다시 닫아서 닫을 때까지 거기에 머물러 있습니다. 버그가있는 곳을 찾을 수 있도록 인쇄문을 코드에 넣었습니다. 다음은 print statements when it works 및 when it doesn't work입니다. 같은 코드가 동일한 순서로 액세스되기 때문에 로그를 보면이 버그를 해결하는 방법을 모르겠습니다. 전환 스타일이 Scroll
대신 PageCurl
인 경우이 문제가 발생하지 않습니다.PageViewController 버그 스크롤 (넘김)
-1
A
답변
0
먼저 pageViewController가 어떻게 작동하는지 알아야합니다.
첫 번째 페이지가로드 된 후 스크롤을 시작하면 다음 페이지를로드하려고 시도합니다. 이것은 첫번째 페이지를위한 것입니다. 그런 다음 페이지에 도달하면 방향에 따라 다음 페이지를 미리로드하고 준비합니다. 당신이 pageViewController이 프리로드 코드
guard orderedViewControllersCount != nextIndex else {
print("last item in coachamrks going to dismiss")
self.dismissViewControllerAnimated(true, completion: nil)
return orderedViewControllers.first
}
의이 부분에 이르게 다음 페이지로 시도하고 그것이 바로 당신이 페이지에 도달로의 ViewController를 기각한다 5 페이지에 도달 귀하의 경우에는
5.
이것은 버그가 아닙니다. 이것은 pageViewController의 기본 동작입니다.
가끔은 잘못된 방식으로 페이지를 스크롤 할 때 pageViewController가 성능상의 이유로 페이지를 미리로드하는 것을 멈추는 경우가 종종 있습니다.
당신이 원하는 것을 얻을 수있는 유일한 방법은 pageViewController 내부에서 scrollView에 액세스하는 hackish 방법이지만 Apple이 향후 업데이트에서 pageViewController 아키텍처를 변경하면 응용 프로그램이 손상 될 수 있습니다.
마지막 페이지에 단추를 놓고 pageViewController를 닫는 것이 좋습니다.
로그를 보려면 다른 페이지로 연결하지 마십시오. 또는 관련 코드. – matt
"시력이 닫힌다"는 것을 설명 할 수 있습니까? 나는 그 문제가 무엇인지 말할 수조차 없다. 상황의 아키텍처를 설명하려고 시도하지 않았습니다. – matt