2010-04-18 212 views
1

我最近開始一個項目,使用Apple的Utility Application示例項目。在示例項目中,有一個信息按鈕顯示FlipSideView的實例。如果你知道Weather.app,你知道按鈕的行爲。UIViewController presentModalViewController:animated:什麼都不做?

然後,我改變了MainWindow.xib在窗口中間包含一個滾動視圖,並在窗口底部包含頁面控件視圖(同樣,像Weather.app一樣)。滾動視圖充滿了MainView的實例。當我點擊信息按鈕時,FlipSideView將顯示,但僅在以前由MainView實例填充的區域中顯示 - 這意味着頁面底部的頁面控制視圖在FlipSideView實例加載時仍顯示。

所以,我認爲我會爲頂層窗口添加一個UIViewController,這是在與項目一起創建的AppDelegate中聲明的窗口。所以,我創建了UIViewController的一個子類,在MainWindow.xib中放置它的一個實例,並將它的view outlet連接到在應用程序委託中聲明爲窗口的UIWindow。我還更改了按鈕的操作,以便它知道將消息發送到MainWindowController實例。消息確實發送(我使用NSLog()語句進行了檢查),但FlipSideView沒有顯示。下面是相關的代碼(?):

FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil]; 
controller.delegate = self; 

controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:controller animated:YES]; 

[controller release]; 

爲什麼的這並不是出於工作MainWindowController內,但完全相同的代碼是從MainViewController的容器內工作?我已經上傳了整個項目here,以便您能夠看到整個事情。

感謝您的幫助!

- RY

編輯:我想可能在UIViewController的視圖插座連接到一個一個UIWindow實例涉及到我。我現在將它連接到一個UIView,它工作得很好。

回答

2

爲了記錄,答案已添加到問題中。 Ryyst說:

我認爲這可能與我的 UIViewController的視圖 出口連接到一個UIWindow實例。我現在 連接到一個UIView,它的 工作得很好。