दिलचस्प पोस्ट
Android पर एक्शन बार में उपयोग करने के लिए, SearchView पर डिफ़ॉल्ट आइकन कैसे बदल सकता है? पायथन में दो-आयामी सरणी को कैसे प्रारंभ करें? इनपुट मान की जांच करना एक पूर्णांक है मैं लिनक्स में C ++ कोड को कैसे चल सकता हूं? स्कैटर प्लॉट को कैसे सजीव करना है? लूप पिछले सूचकांक तत्व का संदर्भ क्यों निर्दिष्ट करता है? आईई फ़ाइल डाउनलोड सुरक्षा नियमों के आसपास क्या तकनीकें हैं? N भूखंडों में n संख्यात्मक चर के विरुद्ध एक संख्यात्मक चर का प्लॉट विरासत पर रचना की कृपा करें पर्ल में तालिका डेटा को पार्स करने में समस्या एंड्रॉइड आईसीएस और एमजेपीईजी एसिंक टास्क का इस्तेमाल करते हुए तालिका पंक्ति में स्लाइड टॉगल क्यों printf () एक फ्लोट को एक डबल को बढ़ावा देता है? PHP $ $ (डॉलर डॉलर या डबल डॉलर) का क्या मतलब है? ASP.net एमवीसी वापस JSONP

UIScrollView autolayout बाधाओं का उपयोग नहीं करता है

मेरे पास एक स्क्रॉल व्यू और इसके पीछे एक छवि दृश्य है और मैं इसे नीस के साथ पॉपुलेट कर रहा हूं मैं ऑटोलेआउट का उपयोग कर रहा हूँ मेरे पास पर्यवेक्षण के लिए एक निचला स्थान है और दोनों दृश्यों पर पर्यवेक्षण के लिए एक शीर्ष स्थान है I छवि दृश्य ठीक उसी तरह करता है जिसे मैं करना चाहता हूं। Iphone 5 के लिए यह मैं चाहता हूँ, जहां यह है। और अन्य आईफ़ोन के लिए, यह स्क्रीन के निचले भाग के ऊपर रहता है, इसलिए यह सही ढंग से आकार बदलता है स्क्रॉल दृश्य आईफ़ाइल 5 पर सही दिखता है, लेकिन अन्य फोनों पर इसका आकार बदल नहीं आया है, इसलिए यह ऐप के दृश्य के नीचे नीचे स्क्रॉल करता है मुझे इन संदेशों को लॉग में मिलता है:

2012-11-21 10:42:38.576 LCHApp[12604:907] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) "<NSLayoutConstraint:0x1d8ea080 UIScrollView:0x1d8413b0.bottom == UIImageView:0x1d892110.bottom>", "<NSAutoresizingMaskLayoutConstraint:0x1d8cca10 h=-&- v=-&- ScheduleViewNib:0x1d853630.height == UIScrollView:0x1d8413b0.height - 386>", "<NSLayoutConstraint:0x1d8e5340 V:[UIImageView:0x1d892110]-(64)-| (Names: '|':ScheduleView:0x1d8efc30 )>", "<NSAutoresizingMaskLayoutConstraint:0x1d8cf520 h=--& v=--& V:[ScheduleView:0x1d8efc30(480)]>", "<NSLayoutConstraint:0x1d8eaed0 V:|-(45)-[UIScrollView:0x1d8413b0] (Names: '|':ScheduleView:0x1d8efc30 )>" Will attempt to recover by breaking constraint <NSLayoutConstraint:0x1d8ea080 UIScrollView:0x1d8413b0.bottom == UIImageView:0x1d892110.bottom> 

मैंने पहले ही कोशिश की

 [self setTranslatesAutoresizingMaskIntoConstraints:YES]; 

तथा

 [self.myScrollView setTranslatesAutoresizingMaskIntoConstraints:YES]; 

से मैं क्या देख सकता हूँ यह सिर्फ विचारों से सभी बाधाओं को दूर करता है। और वह नहीं है जो मैं चाहता हूं।

वेब के समाधान से एकत्रित समाधान "UIScrollView autolayout बाधाओं का उपयोग नहीं करता है"

UIScrollView और ऑटो लेआउट के बीच का संबंध ऑटो लेआउट के अन्य पहलुओं से अलग है। असल में, अगर सरल ऑटो लेआउट संचालित करने की अनुमति दी गई थी, तो कुछ भी स्क्रॉल नहीं होगा। उदाहरण के लिए, यदि स्क्रॉल व्यू के एक सबव्यू को सामान्य तरीके से स्क्रॉल व्यू से ऊपर से 10 अंक तक सीमित रखा गया था, तो वहां पूरी तरह से पिन किया जाएगा; यह कभी भी हिलना नहीं होता, चाहे कोई भी पुस्तक दृश्य कैसे स्क्रॉल नहीं हो।

इस समस्या को हल करने के लिए, एक UIScrollView जो स्वत: का उपयोग करता है, एक पूरी तरह से नए तरीके से संचालित होता है। इसलिए जब आप कहते हैं कि "मैं आटोलेआउट का उपयोग कर रहा हूँ" तो आपको पहले से बहुत अलग ढंग से संचालित करने के लिए चीजों के लिए तैयार होना चाहिए आपको या तो एक स्क्रॉल व्यू सबव्यूज़ का प्रयोग translatesAutoresizingMaskIntoConstraints = YES कंसल्टेंट्स translatesAutoresizingMaskIntoConstraints = YES , और एक स्पष्ट सामग्री के आकार के साथ करना होगा, या अन्यथा सब कुछ में translatesAutoresizingMaskIntoConstraints = NO होना चाहिएअवाराइज़िंगमास्कइनोकॉन्स्टचेंट्एं translatesAutoresizingMaskIntoConstraints = NO और उपसर्गों की बाधाओं के आधार पर सामग्री आकार का अनुमान लगाया जाएगा।

यह बहुत अच्छी तरह से https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-6_0/index.html में समझाया गया है।

स्वत: लेआउट का उपयोग करते समय बहुत महत्वपूर्ण: आपको स्क्रॉल व्यू के दाईं ओर और / या नीचे अंतिम उपदृश्य के नीचे पिन करना होगा। इस तरह स्क्रॉल दृश्य सामग्री आकार को जानता है। उदाहरण के लिए:

 [scrollView addConstraint:[NSLayoutConstraint constraintWithItem:lastSubView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:scrollView attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]]; 

आदर्श उदाहरण प्रदान करने के लिए इस साइट के लिए मेरा धन्यवाद।

इस वजह से मैं घंटों में खो चुका हूं, और मुझे उम्मीद है कि मेरे दर्द को दूसरों से बचेगा।

UIScrollviews को बाधाओं के साथ अच्छी तरह से काम करने के लिए, मैं इस दृष्टिकोण का उत्तर यहां उत्तर देता हूं। उस उत्तर में, मैं यह सोचता हूं कि एक लंबवत स्क्रॉल स्क्रॉलएव्यू कैसे काम करता है जो कि डिवाइस रोटेशन के साथ काम करता है। आप क्षैतिज स्क्रॉलिंग स्क्रॉलएव्यू के साथ काम करने के लिए दृष्टिकोण को भी ज़ूम कर सकते हैं स्क्रॉलएव्यू के लिए जो दोनों दिशाओं में स्क्रॉल करते हैं, आकार मिलान चौड़ाई बाधा चाल जोड़ें नहीं । लेकिन बाकी सब कुछ एक ही है।

कुछ चीजें।

  1. सुनिश्चित करें कि ऑटोलेआउट चालू है (आईबी "फाइल इंस्पेक्टर टैब" पर)
  2. सुनिश्चित करें कि आप कोई भी परिवर्तन नहीं कर रहे हैं, जिसमें सीमाएं, फ़्रेम आदि शामिल हैं – यह सब अब ऑटो की कमी से किया जाता है
  3. सुनिश्चित करें कि आप ऑटो-रिसाइजिंग मास्क से दूर रहें। यह आपकी नई सेटिंग्स के साथ प्रतिस्पर्धा करेगा यदि ये सही किया जाता है, तो आप अब अपना बटन लेआउट कर सकते हैं और यह महान काम करेगा। ऐसे।

यह त्रुटि बताती है कि या तो आपके निब या उस निब में एक नियंत्रण स्वतः लेआउट का उपयोग नहीं कर रहा है।