2014-03-31 37 views
5

我的應用程序有一個嵌入在UINavigationController中的UIViewControllerUIViewController裏面有一個容器視圖。我將此容器視圖連接到UITableViewController,從而將其嵌入到容器視圖中。到現在爲止還好。來自嵌入在容器視圖中的視圖控制器的爭論

現在,當我用故事板推賽格瑞(我們仍然在導航視圖)這個UITableViewController連接到一個新UIViewController,新UIViewController場景的大小變得相同容器看法。我想這是預料之中,但有沒有辦法做到這一點。我希望剩下的場景大小正常。此外,它的工作相當不錯,並在模擬器中運行時的預期。大小的問題只與故事板有關。

只是說明我的控制器 - 視圖層次這裏:

UINavigationController 
    -> UIViewController (Initial View Controller) 
    -> Container View 
     -> UITableViewController (Embed Segue) 
     -> UIViewController (Push Segue) 

有沒有什麼辦法讓最後UIViewController,其餘連接控制器的場景是在故事板正常尺寸的?

+0

所以這個問題只在查看故事板時纔會出現。視圖控制器具有「模擬指標」大小選項(默認情況下爲推測)。你有沒有試過改變它? –

+1

我遇到了相反的問題。我想讓我的segue的視圖適合它所在的容器的大小! – Chucky

回答

3

下面是一個解決方案:從您的初始視圖控制器創建一個手動segue到所需的目的地。這將防止故事板變得混亂,並給目標指定錯誤的大小(以及其他推斷的指標)。不幸的是,因爲它是一個手動視圖控制器,你將不得不做這樣的事情從你的嵌入式視圖控制器執行代碼SEGUE:

[self.parentViewController.parentViewController performSegueWithIdentifier:@"MySegue" sender:self]; 
0

作爲的Xcode 7的(我不知道如果這適用於以前的版本):

  1. 選擇嵌入您的容器視圖中的視圖控制器。
  2. Attributes Selector中,頂部有5個下拉點,位於Simulated Metrics之下。
    • 設置SizeMaster
    • 設置Status BarDefault
    • 設置Top BarTranslucent Navigation Bar
  3. 現在拖動一個UINavigationItem到您的視圖控制器。

這會給你正確大小的視圖控制器和導航欄來編輯。

相關問題