मैं हमेशा सभी डिवाइसों और सभी ओरिएंटेशन पर एक पॉपओवर में ViewController
प्रस्तुत करना चाहता हूं। मैंने UIPopoverPresentationControllerDelegate
को अपनाने और sourceView
और sourceRect
को सेट करके इसे पूरा करने का प्रयास किया।आईफोन 6 प्लस के लिए UIModalPresentationPopover लैंडस्केप में प्रदर्शित नहीं करता है
यह परिदृश्य में आईफोन 6 प्लस को छोड़कर, सभी उपकरणों और उन्मुखताओं के लिए बहुत अच्छा काम करता है। उस स्थिति में दृश्य नियंत्रक एक फॉर्म शीट में स्क्रीन के नीचे से स्लाइड करता है। मैं इसे कैसे रोक सकता हूं ताकि यह हमेशा पॉपओवर में दिखाई दे?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let popoverPresentationController = segue.destinationViewController.popoverPresentationController
popoverPresentationController?.delegate = self
popoverPresentationController?.sourceView = self.titleLabel!.superview
popoverPresentationController?.sourceRect = self.titleLabel!.frame }
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None }
सभी डिवाइस iOS 8.2 के तहत कर रहे या उच्चतर
को सुरक्षित/बंद करने के लिए नेविबार के बिना दिखा रहा है! मैं भूल गया कि प्रतिनिधि विधि 8.3 के लिए बदल गई है। –
@PetahChristian धन्यवाद! हाँ काफी शांत परिवर्तन था और एपीआई diffs के अलावा अन्य दस्तावेज प्रतीत नहीं होता है। – Joshua
@ जोशुआ हाँ! मैंने कार्यान्वित किया - (UIModalPresentationStyle) अनुकूली प्रस्तुति स्टाइलफोर प्रस्तुति नियंत्रक: (यूआईपी प्रतिनिधित्व कंट्रोलर *) नियंत्रक { वापसी UIModalPresentationNone; } लेकिन नई एपीआई मेरी समस्या का समाधान करती है, धन्यवाद श्रीमान! – Loegic