Проблема в этом. У меня есть элемент управления PageViewController как мой контроллер корневого представления. Инициализация первой страницы с помощью SetViewControllers в блоке ViewDidLoad класса PageViewController работает, как и переключение страниц вперед и назад с помощью распознавателей жестов страницы. Этот контроллер корневого представления доступен в приложении через AppDelegate.Доступ к методам PageViewController от контроллера детского представления
Я хотел добавить возможность вернуться на первую страницу из любой точки книги, поэтому создал открытый метод в моем классе PageViewController, который просто называется методом SetViewControllers. Хотя это, похоже, работает, я заметил некоторые причуды. Музыка, которая зацикливается в фоновом режиме (снова объект AVAudio, объявленный в AppDelegate), перезапускается, и блок ViewDidLoad не запускается, пока страница не будет снова повернута с помощью распознавателей жестов.
Я пробовал то же самое с помощью GetNextViewController, но это просто выбрасывает исключение ссылочной ссылки для ссылки на pageViewController. Я предполагаю, что есть некоторые отношения между элементами управления, которые я не понимаю, возможно, что-то связано с DataSource PageViewController. Я попытался делегировать это классу, который переопределяет методы по умолчанию, а также использовать синтаксис этого файла. Синтаксис this.pageViewController.GetNextViewController = delegate (подпись метода).
У кого-нибудь есть представление о том, что моя проблема здесь?
Редактировать: Код для AppDelegate.cs можно посмотреть здесь: https://gist.github.com/1747537 и для PageViewController.cs здесь: https://gist.github.com/1747559.
Я предполагаю, что вы подклассифицируете UIPageViewController, правильно? Этот контроллер не должен быть подклассом, но немного кода будет полезен. –