2016-07-25 5 views
9

जब मैं एक NSPopover मैं निम्न त्रुटि हो रही है खोलें:3 या अधिक * लगातार * लेआउट दिखाए जाने के लिए तैयार हो जाता है। त्रुटि

WARNING: <NSPopover: 0x618000120780> needed 3 or more *consecutive* layout 
passes to prepare to be shown. Verify that nothing in your view hierarchy 
is aggressively dirtying layout during layout, as this will likely 
cause problems elsewhere. 

यह केवल अभी हाल ही में एक निर्माण में प्रदर्शित होने शुरू कर दिया है और मैं क्या यह खड़ी कर रहा है नहीं मिल रहा।

- (IBAction)addClicked:(id)sender { 

[[self addPopover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge]; 

} 

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

वेब पर खोज बहुत कम जानकारी के साथ आता है, जो भी मैं पा सकता हूं। मेरे पॉपओवर का उपयोग फॉर्म इनपुट के लिए किया जाता है, इसलिए इसमें 4 एनएसटीक्स्टफिल्ड्स एनएसओटलाइन व्यू और एनएसआईमेज है। यह एक छिपा वेबव्यू भी बनाता है जो उपयोगकर्ता को दिखाई नहीं देता है और सर्वर प्रसंस्करण के लिए उपयोग किया जाता है।

ओएसएक्स 10.7+

कोई विचार? धन्यवाद जियोफ़

+0

इसे फिक्स्ड। यदि आपको कभी भी यह त्रुटि मिलती है, तो मैंने आईबी में दृश्य प्रभाव निरीक्षक का चयन करके इसे छुटकारा दिलाया और कोर एनीमेशन लेयर के लिए देखने के लिए (इस पूरे पॉपअप के लिए) एक चेकमार्क डाला। अब मेरे पास टेम्पलेट छवियों के साथ स्क्वायर बटन और कोई अस्पष्ट चेतावनी नहीं हो सकती है। – GeoffCoope

+1

आपको शायद इसे एक उत्तर के रूप में पोस्ट करना चाहिए। – tbodt

+0

धन्यवाद। हो गया। – GeoffCoope

उत्तर

7

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

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