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.