2011-06-01 32 views
1

只有橫向應用程序。在我的主窗口xib上,我有一個UIView。我正在編程加載UIScrollview到該UIView,它工作得很好。上滾動視圖,我有一個按鈕,會彈出一個「細節」屏幕(獨立的視圖控制器),通過調用presentModalViewController:presentModalViewController沒有全屏

LearnITViewController *learnit = [[LearnITViewController alloc] initWithNibName:@"LearnITViewController" bundle:nil]; 
self.learnitView = learnit; 
[self presentModalViewController:learnit animated:YES];  
[learnit release]; 

動作的調用,但模式的看法,不佔用當scrollview是子視圖時的整個屏幕。相反,它會彈出到父滾動視圖並翻轉方向等。不是所需的行爲。

有關如何在scrollview調用模態視圖時獲取全屏的任何指導,該視圖是主xib上容器UIView的子視圖?

+0

後一些代碼,以滾動型 – Hisenberg 2011-06-01 04:45:51

+0

這一個製造麻煩的關係,我也有面對它.. – rptwsthi 2011-06-01 04:46:12

回答

1

感謝您的所有意見。在覆蓋presentModalViewController的某處找到了一個提示,並在循環中冒泡,直到主控制器到達(在我的情況下,HomeViewController)。像冠軍一樣工作。

- (void) presentModalViewController:(UIViewController *)screen animated:(BOOL)animated { 
    UIResponder *responder = self; 
    while (responder && ![responder isKindOfClass:[HomeViewController class]]) { 
     responder = [responder nextResponder]; 
    } 
    [(UIViewController *)responder presentModalViewController:screen animated:YES]; 
} 

我重寫了UIScrollview的.m文件,其中包含調用該按鈕的按鈕。

0

嘗試增加subview,而不是presentModelViewController爲:

LearnITViewController *tempView = [[LearnITViewController alloc] initWithNibName:@"LearnITViewController" bundle:[NSBundle mainBundle]]; 
self.learnITViewController = tempView; 
[tempView release]; 
[self.view addSubview:mainMenuView.view]; 

並添加這也

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
// Return YES for supported orientations. 
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);//or left 
} 
+0

@ 7KV7:感謝您的編輯,我想我們可以去無'自我:) :) – rptwsthi 2011-06-01 05:24:22

+0

太棒了,我會給superview一槍。謝謝! – 2011-06-03 19:57:31

-2

代替selfsuperview添加UIViewController

LearnITViewController *learnit = [[LearnITViewController alloc] initWithNibName:@"LearnITViewController" bundle:nil]; 
self.learnitView = learnit; 
[self.view.superview presentModalViewController:learnit animated:YES];  
[learnit release]; 
+0

self.view.superview是UIView。 - (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated在UIViewController之上實現 – 2012-10-19 10:38:02

0
LearnITViewController *learnit = [[LearnITViewController alloc] initWithNibName:@"LearnITViewController" bundle:nil]; 
self.learnitView = learnit; 
[self.learnitView setsetWantsFullScreenLayout:YES]; 

self.learnitView.wantsFullScreenLayout = YES; 
[self presentModalViewController:learnit animated:YES];  
[learnit release]; 
相關問題