2011-06-20 62 views
0

我在ViewController(A)上添加了ViewvController(B)作爲子視圖。在ViewController A(SuperView)UIModelPresentationFullScreen工作正常。但是,當在ViewController B(SubView)中調用UIModelPresentationFull時,它將以縱向模式顯示模型視圖,並且該視圖也未完全查看。如何解決這個問題呢。請任何人幫助我。我已經嘗試了2天。UIModalPresentationFullScreen無法在iPad橫向模式下工作?

這是我在上海華和子視圖都試過......

picFBCapture *fbCapt = [[picFBCapture alloc] init]; 
//[self.navigationController pushViewController:fbCapt animated:YES]; 
//fbCapt.modalPresentationStyle = UIModalTransitionStyleFlipHorizontal; 
fbCapt.modalTransitionStyle = UIModalPresentationFullScreen; 
[self presentModalViewController:fbCapt animated:NO]; 
[fbCapt release]; 

在此先感謝..

+0

嗨,朋友。我改變了我的應用程序流程,但仍然沒有找到這個問題的答案,任何人都可以幫助我。謝謝。 –

回答

1

問題是,如果您添加視圖控制器作爲子視圖它不連接到視圖控制器層次結構,因此某些事情不起作用。您應該儘可能避免將視圖控制器添加爲子視圖,因爲這不是Apple如何使用視圖控制器的方式,但有時無法避免。

如果這是無法避免的情況之一,則應在視圖控制器B中保存對視圖控制器A的引用,然後在視圖控制器A(即連接到視圖控制器層次結構)上調用presentModalViewController:self(視圖控制器B,未連接)。

編輯:在控制器A,你可能有代碼看起來像:

[self.view addSubview:controllerB.view]; 

在一起添加這行:

controllerB.controllerA = self; 

我希望你知道如何創建屬性,但如果不是這裏的提示:

@property (nonatomic, assign) UIViewController *controllerA; 

res你應該能夠弄清楚使用谷歌和文檔。

+0

@Erik Band @ HG實際上我在ViewControllerA中分割了控制器。我在Segmentcontroller中添加了Viewcontrollers B,C,D。在Viewcontroller中我想添加另一個ViewcontrollerE。這是我的任務。我明白你的答案,但在iPhone,iPad不熟悉。我需要你的答案如何解決它。是否有示例代碼?請...救救我... –

+0

我需要謝謝你們兩方面的反應。真的很抱歉延誤...你能幫我解決我的問題嗎?這是非常緊迫的任務... –

+0

@Erik B我試了你的方式。當我從A中刪除viewcontroller B並調用Modelviewcontroller時,它工作正常。但是,這不是我的任務。我想在A中添加ViewControllerB,然後在ViewcontrollerB中調用ModelViewController全屏。如何在Viewcontroller B中保存對viewController A的引用,你能幫助我嗎?請仍在掙扎? –

0

你將不得不自己處理的viewController B的橫向視圖。由於viewController B已被添加爲子視圖,其視圖控制器將不會處理其橫向。只有在顯示viewController B時,風格(橫向和縱向)纔會起作用,即不是作爲子視圖,而是作爲全視圖本身。

相關問題