2011-11-01 43 views
1

這是我在這裏的第一篇文章,我對iPhone開發很新,所以請耐心等待。iPhone多視圖旋轉地獄

我有一個應用程序,它有幾個視圖控制器,每個視圖控制器有一些它控制的筆尖文件,一些筆尖有多個視圖。應用程序中有一個工具欄,由根視圖控制器控制。

經過大量的搜索之後,我在每個屏幕上都有旋轉工作,除了一個屏幕。我沒有讓他們加載正確的方向,但我想這是一個不同的問題。

在具有多個視圖的筆尖中,我只能在原始主視圖上選擇自動調整選項。在我加入的使用insertSubview加載的視圖中,我可以選擇固定邊距選項,但不能選擇寬度和高度調整選項。我正在使用Xcode 4.

我的第一個問題是,爲什麼我無法在其他視圖上選擇調整大小選項?

對不起,我不得不刪除我放在這裏的圖片,顯示我的意思,能夠發佈。

無論如何,那不是我的主要問題,我只是想知道,出於好奇,爲什麼我不能選擇調整大小的選項。我在代碼中找到了解決方法。在我加載子視圖的函數中,我添加了[viewName setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];

E.g加載,我有一個名爲shiftStart的觀點,我使用:

- (IBAction)loadShiftStart:(id)sender { 
    [self clearView]; 
    [self.view insertSubview:shiftStart atIndex:0]; 
    [shiftStart setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight]; 
} 

現在,這裏是我的問題。我有一個有3個視圖的nib文件,查看哪個是首先加載的主視圖,rotaStart,當按下第一個視圖上的按鈕時加載爲子視圖,shiftStart加載爲第一個按鈕時的子視圖按下視圖。 rotaStart和shiftStart幾乎完全相同,包括標題,文本塊,Yes按鈕和No按鈕。唯一的區別是框中的文本,以及如果您單擊「是」或「否」按鈕加載哪個視圖。

我在Xcode中爲標題,文本塊和按鈕選擇了相同的調整大小和邊距選項,並且據我所知,加載它們的代碼是相同的(請參閱下面的代碼),但shiftStart旋轉正確和rotaStart不會。

- (IBAction)loadRotaStart:(id)sender { 
    [self clearView]; 
    [self.view insertSubview:rotaStart atIndex:0]; 
    [rotaStart setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight]; 
} 

- (IBAction)loadShiftStart:(id)sender { 
    [self clearView]; 
    [self.view insertSubview:shiftStart atIndex:0]; 
    [shiftStart setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight]; 
} 

誰能告訴我爲什麼rotaStart不旋轉,當手機改爲風景請嗎?

對不起,這個解釋有點長了。我不知道如何解釋它。

感謝

回答

0

對於其他人在看這個,有一個類似的問題,@longball解決了這個問題對我來說。不知何故,我設法在基本視圖的頂部添加第二個視圖,並完成了標籤&按鈕。刪除額外的視圖解決了問題。