問題はこれです。ルートビューコントローラーとしてPageViewControllerがあります。PageViewControllerクラスのViewDidLoadブロックでSetViewControllersを使用して最初のページを初期化することは、ページのジェスチャレコグナイザーを使用してページを前後に反転することと同様に機能します。このルートビューコントローラーは、AppDelegateを介してアプリケーション全体で利用できます。
本のどこからでも最初のページに戻る機能を追加したかったので、単にSetViewControllersメソッドを呼び出すパブリックメソッドをPageViewControllerクラスに作成しました。これは機能しているように見えますが、特定の癖に気づきました。バックグラウンドでループしている音楽(ここでも、AppDelegateで宣言されたAVAudioオブジェクト)が再開され、ジェスチャーレコグナイザーを使用してページが再びめくられるまで、ViewDidLoadブロックは起動しません。
GetNextViewControllerを使用して同じことを試しましたが、PageViewController参照に対してnull参照例外がスローされるだけです。把握していないコントロール間には何らかの関係があると思います。おそらく、PageViewControllerのデータソースと関係があります。これをデフォルトのメソッドをオーバーライドするクラスに委任し、Monoのthis.pageViewController.GetNextViewController =デリゲート(メソッドシグネチャ)構文を使用してみましたが、役に立ちませんでした。
ここでの私の問題が何であるかについて誰かが何か洞察を持っていますか?
編集:AppDelegate.csのコードはここで表示できます:https://gist.github.com/1747537およびPageViewController.csのコードはここで表示できます: https ://gist.github.com/1747559 。