अद्यतन 3:
इस चेतावनी को उन लेबलों द्वारा भी ट्रिगर किया जा सकता है जो किसी numberOfLines
भी चीज़ पर सेट हैं लेकिन 1 यदि आपका परिनियोजन लक्ष्य 7.1 पर सेट है। यह नए सिंगल-व्यू प्रोजेक्ट के साथ पूरी तरह से प्रतिलिपि प्रस्तुत करने योग्य है।
प्रजनन करने कि प्रक्रिया:
- एक नया सिंगल-व्यू, ऑब्जेक्टिव-सी प्रोजेक्ट बनाएं
- परिनियोजन लक्ष्य को 7.1 पर सेट करें
- प्रोजेक्ट का स्टोरीबोर्ड खोलें
- दिए गए दृश्य नियंत्रक पर एक लेबल ड्रॉप करें
- उस लेबल पर 2 के लिए नंबरऑफलाइन सेट करें।
- संकलन
मैंने निम्नलिखित राडार दायर किया है:
rdar: // problem / 18700567
अपडेट 2:
दुर्भाग्य से, यह Xcode 6 के रिलीज़ संस्करण में फिर से एक बात है। ध्यान दें कि आप सबसे अधिक भाग के लिए, समस्या को ठीक करने के लिए अपने स्टोरीबोर्ड / xib को मैन्युअल रूप से संपादित कर सकते हैं। नीचे टिप्पणी में प्रति चार्ल्स ए :
यह ध्यान देने योग्य है कि आप बहुत आसानी से गलती से इस चेतावनी को पेश कर सकते हैं, और चेतावनी स्वयं उस लेबल को खोजने में मदद नहीं करती है जो अपराधी है। यह एक जटिल स्टोरीबोर्ड में दुर्भाग्यपूर्ण है। आप स्टोरीबोर्ड को एक स्रोत फ़ाइल के रूप में खोल सकते हैं और <label(?!.*preferredMaxLayoutWidth)
एक पसंदीदाMaxLayoutWidth विशेषता / मान को छोड़ते हुए लेबल खोजने के लिए regex के साथ खोज कर सकते हैं । यदि आप इस तरह की तर्ज पर पसंदीदामेक्स लाईआउटवेट = "0" में जोड़ते हैं, तो यह स्पष्ट को चिह्नित करने और मान 0 को सेट करने के समान है।
अद्यतन 1:
यह बग अब Xcode 6 GM में तय किया गया है।
मूल उत्तर
यह Xcode6-Beta6 और XCode6-Beta7 में एक बग है और इसे अभी के लिए सुरक्षित रूप से अनदेखा किया जा सकता है।
Apple डेवलपर फ़ोरम में एक Apple इंजीनियर बग के बारे में कहने के लिए ऐसा था :
पसंदीदा अधिकतम लेआउट चौड़ाई यूआईबेल पर एक ऑटो लेआउट संपत्ति है जो इसे अपनी सामग्री को फिट करने के लिए स्वचालित रूप से लंबवत बढ़ने की अनुमति देती है। 6.0 से पहले के Xcode के संस्करण पसंदीदा समय पर मल्टीलाइन लेबल के लिए डिज़ाइन समय पर आकार सीमा के लिए पसंदीदामैक्सआउट को सेट करेंगे। यदि आपके क्षैतिज लेआउट में बदलाव हुआ है, तो आपको मैन्युअल रूप से अधिमानतः मैक्लैटआउट को अपडेट करना होगा।
iOS 8 ने रनटाइम के दौरान पसंदीदा मैकमैटाउटविथ को स्वचालित रूप से कंप्यूटिंग के लिए समर्थन जोड़ा, जो मल्टीलाइन लेबल को और भी आसान बनाता है। यह सेटिंग iOS 7 के साथ पीछे की ओर संगत नहीं है। iOS 7 और iOS 8 दोनों को सपोर्ट करने के लिए, Xcode 6 आपको आकार निरीक्षक में पसंद किए गएMaxLayoutWidth के लिए "स्वचालित" या "स्पष्ट" दोनों लेने की अनुमति देता है। तुम्हे करना चाहिए:
सर्वश्रेष्ठ अनुभव के लिए iOS 8 को लक्षित करते हुए "स्वचालित" चुनें। "IOS" को लक्षित करने पर "स्पष्ट करें" चुनें। फिर आप पसंदीदामैक्स लाईटाउट के मूल्य को दर्ज कर सकते हैं जो आप सेट करना चाहते हैं। जिस समय आपने बॉक्स को चेक किया था, उस समय सीमा के आकार के लिए "स्पष्ट" डिफॉल्ट को सक्षम करना।
चेतावनी दिखाई देगी यदि (1) आप ऑटो लेआउट का उपयोग कर रहे हैं, (2) "स्वचालित" एक बहुस्तरीय लेबल के लिए सेट है [आप इसे लेबल के आकार निरीक्षक में देख सकते हैं], और (3) अपने तैनाती लक्ष्य <iOS 8।
ऐसा लगता है कि बग यह है कि यह चेतावनी गैर-ऑटोलॉउट दस्तावेजों के लिए दिखाई देती है। यदि आप इस चेतावनी को देख रहे हैं और ऑटो लेआउट का उपयोग नहीं कर रहे हैं तो आप चेतावनी को अनदेखा कर सकते हैं।
वैकल्पिक रूप से, आप स्टोरीबोर्ड या जिब पर फ़ाइल इंस्पेक्टर का उपयोग करके समस्या के चारों ओर काम कर सकते हैं और "बिल्ड टू" के लिए "iOS 8.0 और बाद के लिए बिल्ड" को बदल सकते हैं।