UILineBreakModeWordWrap को हटा दिया गया है


83

यहाँ मेरा कोड है:

CGSize s = [string sizeWithFont:[UIFont systemFontOfSize:20]
               constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, CGFLOAT_MAX) // - 40 For cell padding
                   lineBreakMode:UILineBreakModeWordWrap];

मुझे एक चेतावनी मिलती है कि UILinebBreakModeWordWrap को iOS 6 में चित्रित किया गया है।

जवाबों:


204

आपको NSLineBreakByWordWrappingआईओएस 6 में उपयोग करने की आवश्यकता है

अपने कोड के लिए यह प्रयास करें:

NSString *string = @"bla";

CGSize s = [string sizeWithFont:[UIFont systemFontOfSize:20]
              constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, CGFLOAT_MAX) // - 40 For cell padding
                  lineBreakMode:NSLineBreakByWordWrapping];

एक लेबल पर एक उदाहरण होगा:

[label setLineBreakMode:NSLineBreakByWordWrapping];

के बजाय

label.lineBreakMode = UILineBreakModeWordWrap;

1
Apple ने सिर्फ इसका नाम क्यों बदला? उद्देश्य क्या है?
पॉल ब्रेवस्कीस्की

14

पिछड़ी संगतता बनाए रखने के लिए, आप नीचे के रूप में एक मैक्रो बना सकते हैं:

#ifdef __IPHONE_6_0
# define LINE_BREAK_WORD_WRAP NSLineBreakByWordWrapping
#else
# define LINE_BREAK_WORD_WRAP UILineBreakModeWordWrap
#endif

यदि मैक्रो है तो Xcode अभी भी चेतावनी को क्यों ध्वजांकित करता है?
विलियम जीपी

क्या आपके पास एसडी एसडीके <= आईओएस 6 है? क्या आप स्विफ्ट या ऑब्जेक्टिव-सी का उपयोग करते हैं?
15 मई को मिहिरबन मिनाज़

एसडीके 9.2 है, न्यूनतम लक्ष्य ios7 है, ओबज-सी
विलियम जीपी

फिर सीधे NSLineBreakByWordWrapping का उपयोग करें।
मिहिरबन मिनाज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.