2010-01-05 46 views
0

我有一個問題,使用presentModalViewController來顯示UIView。在應用程序中,我有一個帶有項目列表的NavigationController。觸摸Cell將調用第一個ViewController,僅負責顯示背景圖片。在viewDidLoad方法中,我創建了另一個具有UiScrollView的ViewController,顯示有關該項目的一些信息。presentModalViewController問題

到目前爲止這麼好。

現在,一個項目可以包含子項目,所以如果我點擊一個子項目,我使用presentModalViewController來創建第一個ViewController的新實例。我的問題是,這個新顯示的控制器顯示大約180px(猜測)低於它應該。我認爲,這是由於我設置的相對座標錯誤,但是如果我用新(較低)控制器點擊子項目,我希望它會再次顯示較低(比如360px) - 相對於Iphone的頂部角落。

無論如何,這沒有發生。我的問題是爲什麼新控制器顯示的比我預期的要低。花了幾個小時對此,所以任何想法都表示讚賞!

編輯:一些代碼 - 這是一部分,我在那裏呈現控制器:

ItemDetailsViewController *itemScrl= [[ItemDetailsViewController alloc] initWithNibName:@"ItemDetailsViewController" bundle:nil]; 

itemScrl.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 

[self presentModalViewController:itemScrl animated:YES]; 

這是一部分,我在那裏創建滾動查看:

- (void)viewDidLoad { 
[super viewDidLoad]; 

ItemScrollController *itemScrl = [[ItemScrollController alloc] initWithNibName:@"ItemScrollController" bundle:nil]; 
itemScrl.title = self.title; 
itemScrl.view.frame = CGRectMake(20 , 0, 280, 400); 
[self.view addSubview:itemScrl.view]; 
} 
+0

發佈代碼,您可以調用presentModalViewController。控制器的視圖可以根據其父視圖自動調整大小 – Vladimir 2010-01-05 11:08:11

+0

該代碼有幫助嗎? – Icky 2010-01-05 11:44:39

回答

0

我想我的問題沒有在parentviewController中添加一個導航欄,也沒有告訴子視圖,確實有一個導航欄。有很多方法可以做到這一點,無論如何,無論如何,在IB中,您可以勾選導航欄框來顯示實際視圖,因此它不應調整任何大小。

相關問題