\ N या पंक्ति विराम के साथ NSString


100

क्या किसी को पता है कि एनएसएसट्रिंग में लाइन ब्रेक का उपयोग कैसे करें? मुझे ऐसा कुछ करने की ज़रूरत है -

[NSString stringWithFormat:@"%@,\n%@", mystring1,mystring2];

11
क्या आपने वास्तव में यह कोशिश की थी? क्योंकि अगर आपके पास होता, तो आपको अपना जवाब मिल जाता।
डेव लॉन्ग

नहीं, यह काम नहीं किया। मैं स्ट्रिंग को \ n देख रहा हूँ, लेकिन जब यह रेंडर करता है, तो यह उसी लाइन पर है।
डेव

4
कृपया सुनिश्चित करें कि यह NSString प्रकार का संदेश जिसे आप HTML समर्थन का उपयोग नहीं कर रहे हैं। यदि HTML समर्थन का उपयोग कर रहे हैं, तो यह \ n का इलाज नहीं करेगा। आशा है कि मैं सहायक हूँ। धन्यवाद, अबी
अब्दुल यासीन

जवाबों:


177

मैं बस एक ही मुद्दे में भाग गया जब NSObject के एक उपवर्ग के लिए ओवरलोडिंग -डिस्क्रिप्शन। इस स्थिति में मैं लाइन ब्रेक बनाने के लिए न्यूलाइन (\ n) के बजाय कैरिज रिटर्न (\ r) का उपयोग करने में सक्षम था।

[NSString stringWithFormat:@"%@\r%@", mystring1,mystring2];


1
उत्तम! बस ध्यान दें कि आपके पास पहले% @
सैम स्पेंसर

1
@OMGPOP, ध्यान दें कि iOS के विकास के लिए आपको नीचे दिए गए मेरे उत्तर की भी जांच करनी होगी।
एंडी ए

परफेक्ट ने मेरे लिए काम किया, इसे साझा करने के लिए बहुत धन्यवाद।
स्विफ्टबॉय

32

यदि आपकी स्ट्रिंग एक UIView (जैसे एक UILabel) में जा रही है, तो आपको लाइनों की संख्या 0 पर सेट करने की भी आवश्यकता है

myView.numberOfLines=0;

26

मैंने पाया कि जब मैं एक .plistफाइल से तार पढ़ रहा था , तब होने वाली घटनाओं "\n"को पार्स किया गया था "\\n"। मेरे लिए समाधान के "\\n"साथ की घटनाओं को बदलना था "\n"। उदाहरण के लिए, मेरी फ़ाइल से पढ़े गए NSStringनाम का एक उदाहरण , मुझे कॉल करना था ...myString.plist

myString = [myString stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];

... इसे मेरे UILabelउदाहरण से पहले ...

myLabel.text = myString;

2
यह मेरा सटीक परिदृश्य था, आदिल। आपके उत्तर के लिए धन्यवाद!
iOS4Life

12
NSString *str1 = @"Share Role Play Photo via Facebook, or Twitter for free coins per photo.";
NSString *str2 = @"Like Role Play on facebook for 50 free coins.";
NSString *str3 = @"Check out 'What's Hot' on other ways to receive free coins";


NSString *msg = [NSString stringWithFormat:@"%@\n%@\n%@", str1, str2, str3];

8

इसे आज़माएँ (stringWithFormat को लोअरकेस से शुरू करना होगा)

 [NSString stringWithFormat:@"%@\n%@",string1,string2];

2

\ n \ r मेरे लिए काम कर रहा है।

मैं लक्ष्य के रूप में IOS 6.0 के साथ Xcode 4.6 का उपयोग कर रहा हूं। IPhone 4S पर परीक्षण किया गया। इसे स्वयं करके देखें।

फेंग चिउ


1
यह कोई जवाब नहीं है..कृपया इन टिप्पणियों में लिखें।
शिवाय

2

NSString के लिए लाइन विराम वर्ण \ r है

उपयोग करने का सही तरीका [NSString StringWithFormat:@"%@\r%@",string1,string2];

\ r ----> गाड़ी वापसी


"StringWithFormat" अमान्य है; यह "stringWithFormat" होना चाहिए (लोअर केस 's' से शुरू होना चाहिए)
SpokaneDude

0

\nएक लाइन को तोड़ने का पसंदीदा तरीका है। \rकाम भी करेगा। \n\rया \r\nओवरकिल हैं और बाद में आपको समस्या हो सकती है। कोको, विशिष्ट पैराग्राफ और विशिष्ट उपयोगों के लिए लाइन ब्रेक वर्णों है NSParagraphSeparatorCharacter, NSLineSeparatorCharacterयहाँ उपरोक्त सभी के लिए मेरा स्रोत है।


0

स्विफ्ट 3 में, इसकी बहुत सरल है

let stringA = "Terms and Conditions"
let stringB = "Please read the instructions"

yourlabel.text =  "\(stringA)\n\(stringB)"

या यदि आप एक textView का उपयोग कर रहे हैं

yourtextView.text =  "\(stringA)\n\(stringB)"

पोस्ट को विशेष रूप से ऑब्जेक्टिव-सी के लिए लेबल किया गया है।
डायलन

0

मामले में \ n या \ r काम नहीं कर रहा है और यदि आप uiwebview के साथ काम कर रहे हैं और नई लाइन डालने के लिए <br> टैग का उपयोग करके html को लोड करने की कोशिश कर रहे हैं। NSString stringWithFormat में बस <br> टैग का उपयोग न करें।

इसके बजाय जोड़कर ही उपयोग करें। यानी stringByAppendingString का उपयोग करके

 yourNSString = [yourNSString stringByAppendingString:@"<br>"];
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.