दिलचस्प पोस्ट
क्या Haskell पूंछ-पुनरावर्ती अनुकूलन है? बैज मापदंड को स्टोर करने का सर्वोत्तम तरीका? ईएफ कोड-पहले एक-से-एक रिश्ते: रिलेशनशिप में भूमिका * में बहुलता मान्य नहीं है पैचिंग / बचत करने पर दिनांक / समय मानों का गलत अर्थ क्यों है? 2038 के लिए तैयार करने के लिए हमें क्या करना चाहिए? बैकरेन्फ़िकेशन इन लेकबीहैंड एनएसडीटा को बेस 64 में परिवर्तित करना एसडी कार्ड से एक फाइल कैसे हटानी है? ओपनजीएल – ऑर्डर स्वतंत्र पारदर्शिता बनाने के लिए कैसे? तुल्यकालिक कनेक्शन के लिए एचटीटीपी क्लाइंट का उपयोग क्यों करें जावा में मेमोरी कैसे मुक्त हो? एक सिस्टम से WPF BitmapImage लोड करें। Draving.Bitmap स्वत: पूर्ण होने पर ट्रिगर किया गया कोई भी ईवेंट? IOS अनुप्रयोग में आवक कॉल को ब्लॉक करने के लिए मैं निजी API कैसे उपयोग कर सकता हूं? ggplot2: घनत्व वक्र के साथ ओवरले हिस्टोग्राम

आईपैड पॉपओवर की तरह आईफोन पॉपअप मेनू?

आईपैड में पॉप अप की तरह मैं आईफोन ऐप में इस पॉपअप मेनू को कैसे लागू कर सकता हूं?

वैकल्पिक शब्द


संपादित करें : यह सबसे अच्छा समय है: https://github.com/runway20/PopoverView यहां छवि विवरण दर्ज करें

Solutions Collecting From Web of "आईपैड पॉपओवर की तरह आईफोन पॉपअप मेनू?"

IPhone UIPopoverController कार्यान्वयन पर एक नजर डालें: WEPopover

आईओएस 8 और बाद में

आईओएस 8 के साथ शुरू में, आप iPads के अलावा iPhones के लिए UIPopoverPresentationController उपयोग कर सकते हैं।

यहां छवि विवरण दर्ज करें

सेट अप

  • अपने मुख्य व्यू नियंत्रक को UIBarButtonItem जोड़ें।
  • स्टोरीबोर्ड में एक अन्य दृश्य नियंत्रक जोड़ें। इसे उस आकार में बदलें, जिसे आप पॉपओवर चाहते हैं और उस सामग्री को जोड़ना चाहते हैं जिसे आप चाहते हैं। मेरे उदाहरण के लिए मैंने सिर्फ एक UILabel जोड़ा। यदि आप एक पूर्ण मेनू चाहते हैं, तो बस एक तालिका दृश्य या बटनों की सूची जोड़ें।
  • बार नियंत्रक के लिए बार बटन आइटम से नियंत्रक को जोड़ें, जिसे आप पॉपओवर के रूप में उपयोग करेंगे। show बजाए, Present as Popover चुनें।

यहां छवि विवरण दर्ज करें

  • स्टोरीबोर्ड में popoverSegue चयन करें और पहचानकर्ता को popoverSegue (या जो भी स्ट्रिंग आप इसे कोड में कहते हैं) के लिए सेट करें।

यहां छवि विवरण दर्ज करें

  • Popover दृश्य नियंत्रक के लिए विशेषता निरीक्षक में, पसंदीदा आदी आकार का उपयोग करें चेक करें और पुष्टि करें कि यह वह आकार है जिसे आप चाहते हैं।

यहां छवि विवरण दर्ज करें

कोड

यह मुख्य व्यू नियंत्रक के लिए कोड है जिसमें उसमें बार बटन वस्तु है

 class ViewController: UIViewController, UIPopoverPresentationControllerDelegate { override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "popoverSegue" { let popoverViewController = segue.destinationViewController popoverViewController.modalPresentationStyle = UIModalPresentationStyle.Popover popoverViewController.popoverPresentationController!.delegate = self } } // MARK: - UIPopoverPresentationControllerDelegate method func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle { // Force popover style return UIModalPresentationStyle.None } } 

पॉपवर एक मनमानी एंकर बिंदु पर

यदि आप पॉपओवर को बार बटन आइटम (उदाहरण के लिए UIButton पर) के अलावा किसी अन्य जगह पर दिखाना चाहते हैं, तो आपको sourceView और sourceRect सेट करना sourceRect । विवरण के लिए यह उत्तर देखें।

यहां छवि विवरण दर्ज करें

आगे की पढाई

उपरोक्त उदाहरण ज्यादातर पहले लिंक से आता है।

  • आईपैड स्टाइल पॉपओवर्स ऑन आईफ़न ऑन स्विफ्ट
  • आईओएस 8 पॉपओवर प्रस्तुतियाँ
  • आईओएस 8 आईफोन पर यूआईपीओपरप्रदर्शन नियंत्रक
  • आईओएस में पॉपअप विकल्पों का सामान्य अवलोकन

आईफोन पर आप आमतौर पर ऐसे बटनों के ढेर के लिए एक यूआईएएसीएशेट का प्रयोग करेंगे। यह बटन के बगल में पॉप अप करने के बजाय, नीचे से ऊपर स्लाइड करता है, लेकिन यह iPhone पर मानक व्यवहार है

एक ऐसा है जो WEPopover से भी बेहतर है 50pixels नामक एक कंपनी द्वारा विकसित, इसे FPPopover कहा जाता है

आप https://github.com/50pixels/FPPopover पर FPPopover डाउनलोड कर सकते हैं

आपको मैन्युअल रूप से एक कस्टम पृष्ठभूमि छवि का उपयोग करके या पारदर्शिता के साथ चित्रण करने के लिए, कुछ UIButtons (या अन्य प्रकार के कस्टम व्यू) को शीर्ष पर जोड़ना होगा, और किसी भी तरह से उस दृश्य के बाहर सभी स्पर्श संभाल करना होगा

ध्यान दें कि यह गैर-मानक UI है एक कार्यपत्रक अधिक HIG अनुरूप होगा।

आप WYPopoverController देख सकते हैं: https://github.com/sammcewan/WYPopoverController

ऊपर दिए गए स्क्रीनशॉट एक यूआईएक्सशेट नहीं है। ऐसा लगता है कि कस्टम UIButtons के साथ एक साधारण UIView उपवर्ग के ऊपर यह शीर्ष पर है इसलिए आगे बढ़ो और अपनी आवश्यकताओं के अनुसार उपवर्ग बनाएं और फिर जब भी आपको इसकी ज़रूरत होती है तो इसे अपने दृश्य में एक सबव्यू के रूप में जोड़ें।

एक नेविगेशन नियंत्रक पर एक दाहिने ओर पट्टी बटन आइटम से एक popover प्राप्त करने के लिए जो कि टेबलव्यू नियंत्रक का हिस्सा है, निम्नलिखित स्विफ्ट 4 और Xcode 9 के लिए मेरे लिए काम किया

  1. ऊपर उत्तर के उत्तर में दिए गए चरणों का पालन करें (जैसा कि समुदाय द्वारा संपादित किया गया है।)
  2. उपरोक्त उत्तर में दिखाए गए अनुसार सेगू को लागू न करें। किसी कारण से, सीप्यू ने स्पष्ट आकार की स्थापना के बावजूद पॉपओवर को पूर्ण स्क्रीन पर जाने का कारण बनता है।
  3. अपने पॉपओवर व्यू नियंत्रक को एट्रिब्यूट इंस्पेक्टर में एक शीर्षक दें
  4. निम्न कोड को टेबलव्यू नियंत्रक में जोड़ें जहां पॉपअप दिखाएगा।
  5. स्ट्रिंग आइडेंटिफ़ायर संशोधित करें (यहां का एक कॉन्स्टेंट.swift फ़ाइल संदर्भित है)
  6. अपने पॉपओवर व्यू नियंत्रक के शीर्षक का उपयोग करने के लिए "के रूप में फ़िल्टर करें" को संशोधित करें

     /// Shows a filter popover view @IBAction func filterBtnPressed(_ sender: UIBarButtonItem) { let popover = storyboard?.instantiateViewController(withIdentifier: FILTER_VC) as! FilterVC popover.modalPresentationStyle = UIModalPresentationStyle.popover popover.popoverPresentationController?.backgroundColor = UIColor.green popover.popoverPresentationController?.delegate = self popover.popoverPresentationController?.backgroundColor = ColorPalette.Blue.Medium popover.popoverPresentationController?.sourceView = self.view popover.popoverPresentationController?.sourceRect = CGRect(x: self.view!.bounds.width, y: 0, width: 0, height: 0) popover.popoverPresentationController?.permittedArrowDirections = .up self.present(popover, animated: true) } } func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle { return UIModalPresentationStyle.none }