是否有類似於iOS應用的NSPopover?它出現在Mac的對象庫中,但不適用於iPhone和iPad,儘管我已經使用此(或至少某些非常相似的)功能下載了應用程序。NSPopover for iOS
所以我的問題:是否有一個合法的方式來實現呢?
是否有類似於iOS應用的NSPopover?它出現在Mac的對象庫中,但不適用於iPhone和iPad,儘管我已經使用此(或至少某些非常相似的)功能下載了應用程序。NSPopover for iOS
所以我的問題:是否有一個合法的方式來實現呢?
UIPopoverController
是你在找什麼。
有他們被稱爲UIPopovers,
對於谷歌搜索這個的緣故,UIPopoverController
是現在可用於iPhone和iPad。你可以使兩個看起來都一樣的popovers(我相信iOS 9)。
步驟1:在你的類定義包含UIAdaptivePresentationControllerDelegate
和UIPopoverPresentationControllerDelegate
第2步:某處覆蓋的呈現在你的類是這樣的:
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return .none
}
步驟3:當你提出一個視圖控制器,你告訴它使用popover
風格。事情是這樣的:
//I pull my popover from a separate storyboard, but any modal view will do
let storyboard = UIStoryboard(name: "Popovers", bundle: nil)
let modal = storyboard.instantiateViewController(withIdentifier: "AnyPickerModal") as! AnyPickerVC
modal.modalPresentationStyle = UIModalPresentationStyle.popover
let pc = modal.popoverPresentationController
pc?.permittedArrowDirections = .any
pc?.sourceView = <your button or view you tap to show the popover>
pc?.sourceRect = <your button or view>.bounds
//How big the popover should be
modal.preferredContentSize = CGSize(width: 300, height: 180)
pc?.delegate = self
self.present(modal, animated: true, completion: nil)
您呈現模式將顯示爲一個酥料餅上都 iPhone和iPad。附件是我的iPhone應用程序的屏幕截圖。
編碼愉快!
請記住,UIPopoverController只有iPad! –
所以我必須以編程方式創建_popover_,對嗎? –