2016-11-17 12 views
14

आज के विजेट व्यू मोड की ऊंचाई कॉम्पैक्ट मोड के लिए सेट नहीं की जा सकती है। कोई फर्क नहीं पड़ता कि मैं जो भी मूल्य निर्धारित करता हूं। यह विजेट की ऊंचाई को डिफ़ॉल्ट मान पर सेट करता है। विस्तारित मोड सही काम करता है और विजेट ठीक से सेट और विजेट में परिलक्षित होता है। मैंने पहले ही इस दृश्य को मेरे दृश्यडिडलोड() विधि में जोड़ा है।आज विजेट एक्सटेंशन ऊंचाई - आईओएस 10

self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded 

यहां कोड है। MaxSize का मान भी एक स्थिर के रूप में बदला नहीं जा सकता है।

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 

     //self.preferredContentSize = (activeDisplayMode == .compact) ? maxSize : CGSize(width: maxSize.width, height: 300) 

     if activeDisplayMode == NCWidgetDisplayMode.compact 
     { 
      self.preferredContentSize = CGSize(width: maxSize.width, height: 300) 
     } 
     else 
     { 
      self.preferredContentSize = CGSize(width: maxSize.width, height: 560) 
     } 
} 
+0

विगेट्स के लिए न्यूनतम ऊंचाई 110 है। –

+0

@ कॉन्स्टेंटिन सॉलेन्को धन्यवाद - लेकिन मैं इस मूल्य को कैसे बदल सकता हूं। कॉम्पैक्ट मोड में –

+1

उस मान को बदलने का कोई तरीका नहीं है –

उत्तर

15

आईओएस 10 में विजेट की ऊंचाई कॉम्पैक्ट मोड में बिल्कुल 110 है। इसे विस्तारित मोड में जो भी ऊंचाई चाहिए, उसे सेट किया जा सकता है, लेकिन कॉम्पैक्ट मोड में यह हमेशा 110 होगा और इसे अधिलेखित नहीं किया जा सकता है। कॉम्पैक्ट मोड 110 में

+6

आईओएस 10+ में विजेट की ऊंचाई सिस्टम टेक्स्ट आकार के आधार पर परिवर्तनीय है। 110 डिफ़ॉल्ट/मध्यम पाठ आकार के साथ ऊंचाई है, लेकिन यदि आप सेटिंग ऐप में सिस्टम टेक्स्ट आकार को कम या बढ़ाते हैं तो यह 110 से कम या उससे अधिक हो सकता है। –

+1

यह उत्तर वास्तव में सभी राज्यों को कवर नहीं करता है। इसे @GregG टिप्पणी के साथ विलय किया जाना चाहिए :) – ridvankucuk

11

view.idferoadContentSize को देखने के लिए प्रयास करें DidLoad विधि।

स्विफ्ट 3

override func viewDidLoad() { 

    super.viewDidLoad() 

    self.preferredContentSize = CGSize(width:self.view.frame.size.width, height:210) 

    if #available(iOSApplicationExtension 10.0, *) { 
     self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded 
    } 
} 


@available(iOS 10.0, *) 
    @available(iOSApplicationExtension 10.0, *) 
    func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 
     if activeDisplayMode == .expanded { 
      self.preferredContentSize = CGSize(width: self.view.frame.size.width, height: CGFloat(3)*self.tableView.rowHeight) 
     }else if activeDisplayMode == .compact{ 
      self.preferredContentSize = CGSize(width: maxSize.width, height: 110) 
     } 
    } 

आपके आवेदन के लिए अपनी ऊंचाई का उपयोग करें: यहाँ पूरा कोड है। आशा आपकी समस्या को ठीक करेगी।

संबंधित मुद्दे