2011-10-04 57 views
3

我一直在閱讀stackOverflow這個問題的答案几個小時。請幫幫我。iphone/ipad - 麻煩使用Autoresize和addSubview

我正在使用addSubview顯示視圖。我所有的UIView對象都是通過xib文件加載的。層次結構是MainWindow.xib - > View1.xib - > View2.xib。每個控制器都有一個控制器,它通過initWithNibName:bundle:來加載xib。層次結構中的每個視圖都具有在IB中選中的Autoresize子視圖屬性。每個人都有他們的自動調整選項。 (又名紅色小箭頭)

當點擊View1上的按鈕時,View2被添加爲View1的子視圖,使用addSubview。這在iPhone上正常工作。

我現在正在讓我的應用程序工作在iPad上。我所有的其他視圖都可以正常工作並調整大小。但View2不。這是因爲直到它調用調整大小函數之後它纔會被添加到View1中?如果是這樣,我如何觸發autoresize功能?我錯過了什麼?

對不起,如果這不夠詳細。我很樂意迴應調試問題。經過兩天的搜索,我仍然感覺有點失落。

回答

7

將View2添加到View1的代碼在哪裏?你可能想要做類似

-(void)actionButtonPressed:(id)sender withEvent:(UIEvent*)e { 
    self.vc2 = [[[ViewController2 alloc] initWithNibName:...] autorelease]; 
    vc2.view.frame = self.view.bounds; 
    [self.view addSubview:vc2.view]; 
} 
+0

哇。我讓它變得比它需要的更加困難。出於某種原因,我認爲autoResize會在addSubview函數中發生。我之前嘗試過沒有成功,但在添加到View1之後才調整大小。感謝您幫助我重新考慮並重新排序。 – decoy

+2

只有在視圖*大小*時纔會發生自動調整,並且如果視圖沒有窗口/超級視圖/某些東西,有時似乎不會發生神祕感。謹防! –