0

我是iOS編程新手。我正在學習如何在iOS中使用Modal。我有一個按鈕。按鈕內置按鈕處理程序我想顯示一個UIViewController像模態窗體。演示模態視圖控制器不顯示爲表單

這裏是我的代碼:

@IBAction func userEditClick(sender: AnyObject) { 

    let userCtrl = UserEditViewController(nibName: "UserEditViewController", bundle: nil) 
    userCtrl.callback = self 

    userCtrl.modalPresentationStyle = UIModalPresentationStyle.FormSheet 
    //userCtrl.preferredContentSize = CGSizeMake(400, 800); 

    self.presentViewController(userCtrl, animated: true, completion: nil) 

} 

UserEditViewController被顯示,但畫面看起來像普通的UIViewController - >這是不是我所期待--->表模態

謝謝!

+1

AFAIK形式表僅適用於ipad公司,如果要複製的是你需要可能建立一個自定義視圖自己,或發現iPhone手機它已經是一個開源組件。 – Mike

回答

1

您只需調用presentViewController。這將完成這項工作。 presentViewController的默認動畫是模態的。另外,當你看到文檔時說它的設置會適應環境。所以我認爲當你在iPhone上時,FormSheet必須覆蓋整個屏幕。我認爲你可能會堅持蘋果的默認行爲。

在橫向常規環境中,演示風格 顯示屏幕中居中的內容。內容區域的寬度和高度均小於屏幕尺寸,調光視圖 放置在內容下方。如果設備處於橫向 方向並且鍵盤可見,則視圖的位置向上調整爲 ,以便視圖保持可見。所有未覆蓋區域 都會變暗以防止用戶與其進行交互。

在水平緊湊環境中,此選項的行爲與 UIModalPresentationFullScreen相同。

適用於iOS 3.2或更高版本。

好吧,如果您想要在iPhone或iPad上顯示錶單樣式表,您需要計算大小並將它們與您製作的動畫一起顯示出來並加載到您的視圖控制器上。

或者你可以檢查此庫https://github.com/m1entus/MZFormSheetController 他們做了最艱苦:)

+0

你想在iPhone上做到這一點? –

+0

謝謝。我現在明白了。 – Loc

相關問題