問題是這樣的。我有一個PageViewController作爲我的根視圖控制器。使用PageViewController類的ViewDidLoad塊中的SetViewControllers初始化第一個頁面,就像使用頁面的手勢識別器來回翻頁一樣。此根視圖控制器可通過AppDelegate在應用程序範圍內使用。從子視圖控制器訪問PageViewController的方法
我想添加從書中任何位置返回到第一頁的功能,因此在我的PageViewController類中創建了一個公共方法,該方法簡單地稱爲SetViewControllers方法。雖然這似乎工作,我注意到一些怪癖。在後臺循環播放的音樂(再次,在AppDelegate中聲明的AVAudio對象)將重新啓動,並且ViewDidLoad塊不會觸發,直到使用手勢識別器再次打開頁面爲止。
我使用GetNextViewController嘗試了同樣的事情,但它只是爲PageViewController引用引發一個空引用異常。我假設我沒有掌握的控件之間存在某種關係,或許與PageViewController的DataSource有關。我曾嘗試委託給一個覆蓋默認方法的類,以及使用Mono的this.pageViewController.GetNextViewController = delegate(方法簽名)語法無濟於事。
有沒有人有任何見解我的問題是什麼?
編輯:代碼爲AppDelegate.cs可以在這裏查看:https://gist.github.com/1747537和PageViewController.cs在這裏:https://gist.github.com/1747559。
我假設你是繼承UIPageViewController,對吧?這個控制器並不是要被分類的,但是一些代碼會有幫助。 – 2012-02-05 18:00:07