2

我目前有一個在PresentationStyle.PageSheet中以模態方式呈現VC的segue。我已經通過編程和故事板完成了這個任務。我用兩種方法得到了相同的結果,模式彈出窗口呈現自己,但不顯示來自VC的UIView內的任何內容。它只會顯示視圖的背景顏色,這就是全部。我還想指出,如果我使用默認的模式segue(全屏),但是使用頁面表單樣式或使用UIPopoverController失敗,則顯示所有內容。這裏有一些截圖顯示了我正在談論的內容。UIModalPresentationStyle.PageSheet不顯示ViewController內容

這是什麼樣子的故事板: storyboard

這就是它看起來像在模擬器和實際的iPad: enter image description here

這裏是我的編碼方法看起來像:

@IBAction func addPickUp(){ 
    var addPickupVC = self.storyboard?.instantiateViewControllerWithIdentifier("pickup") as AddPickupViewController 
    addPickupVC.modalPresentationStyle = UIModalPresentationStyle.PageSheet 
    self.presentViewController(addPickupVC, animated: true, completion: nil) 
} 

這寫在迅速爲ipad ios8。 我在這裏錯過了什麼?任何建設性的反饋是讚賞!

編輯:這是要模態呈現的VC的文檔大綱。 outline

回答

3

您的代碼顯示彈出窗口是正確的。
AutoLayout約束可能存在問題。
正如你所看到的,你的彈出窗口被顯示,但標籤丟失。

  1. 刪除您的自動版式(他們會自動生成),看看標籤將是可見的,現在
  2. 嘗試添加新標籤。拖放,並在調試面板

    • 單擊「調試視圖層次」按鈕,不指定任何約束
    • 調試視圖

      enter image description here

    • 現在你可以看到你的觀點豐盛。選擇你的標籤,如果它存在並且看到它的限制。

      enter image description here

  3. 檢查自動版式的約束和標籤出現在正確的Size Classes
    尺寸類別顯示波紋管UI設計師。在我的情況下是(任何任何)。
    這意味着它適用於所有尺寸和所有設備。
    另請檢查您的約束在運行時是否被刪除。
    你可以在右側的檢查員看到它。

    enter image description here

+0

這是導致它不顯示的大小類。謝謝! – Boid 2014-11-17 17:07:40

+0

很高興聽到它幫助!我有類似的問題。 – 2014-11-18 08:28:16

0

在故事板中,您可以簡單地控制將連接從按鈕拖動到您呈現的Viewcontroller。沒有理由爲此擁有@IBAction。如果使用InterfaceBuilder方法,您可以選擇將segue上的表示樣式設置爲PageSheet。

+0

是的,我做了這一切。就像我在問題提及的問題中提到的那樣,並以編程方式(分開)。 – Boid 2014-11-06 17:27:44

+0

對不起,誤解了第二部分。你可以爲該控制器添加文檔大綱的屏幕截圖嗎? – 2014-11-06 17:32:29

+0

已添加。沒有太多看到誠實。我儘量保持簡單。 – Boid 2014-11-06 17:38:10