\ N veya satır sonu ile NSString


100

NSString'de satır sonlarının nasıl kullanılacağını bilen var mı? Bunun gibi bir şey yapmam gerekiyor -

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

11
Bunu gerçekten denedin mi? Çünkü bilseydin cevabını alırdın.
Dave DeLong

hayır işe yaramadı. dizeye eklenen \ n ifadesini görüyorum ama oluşturulduğunda aynı satırda.
Dave

4
Lütfen HTML desteği kullanmadığınız bu NSString türü mesajdan emin olun. HTML desteği kullanılıyorsa, bu tedavi edilmez \ n. Umarım yardımcı olurum. Teşekkürler, Aby
Abdul Yasin

Yanıtlar:


177

NSObject'in bir alt sınıfı için açıklama aşırı yüklerken aynı sorunla karşılaştım. Bu durumda satır sonu oluşturmak için satırsonu (\ n) yerine satır başı (\ r) kullanabildim.

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


1
mükemmel! İlk% @ ifadesinden sonra ihtiyaç duyulmayan bir virgülünüz olduğunu unutmayın
Sam Spencer

1
@OMGPOP, iOS geliştirme için aşağıdaki cevabımı da kontrol etmeniz gerektiğini unutmayın.
Andy A

Benim için mükemmel çalıştı, bunu paylaştığın için çok teşekkürler.
swiftBoy

32

Dizeniz bir UIV görünümüne giriyorsa (örneğin bir UILabel), satır sayısını da 0 olarak ayarlamanız gerekir.

myView.numberOfLines=0;

26

Bir .plistdosyadan dizeleri okurken , oluşumlarının "\n"olarak ayrıştırıldığını buldum "\\n". Benim için çözüm, oluşumlarını "\\n"ile değiştirmekti "\n". Örneğin, dosyamdan NSStringadlandırılmış bir myStringread in örneği verildiğinde .plist, şunu aramak zorunda kaldım ...

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

... onu örneğime atamadan önce UILabel...

myLabel.text = myString;

2
Bu benim kesin senaryomdu Adil. Cevabınız için teşekkürler!
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

bunu deneyin (stringWithFormat küçük harfle başlamalıdır)

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

2

\ n \ r benim için çalışıyor gibi görünüyor.

Hedef olarak IOS 6.0 ile Xcode 4.6 kullanıyorum. İPhone 4S'de test edildi. Kendiniz deneyin.

Feng Chiu


1
bu bir cevap değil .. lütfen bunları yorumlara yazınız.
Shivaay

2

NSString için satır sonu karakteri \ r

doğru kullanım yolu [NSString StringWithFormat:@"%@\r%@",string1,string2];

\ r ----> satır başı


"StringWithFormat" geçersiz; "stringWithFormat" olmalıdır (küçük harf 's' ile başlamalıdır)
SpokaneDude

0

\nbir satırı kırmanın tercih edilen yoludur. \rçok çalışacak. \n\rveya \r\naşırıdır ve daha sonra sorunlara neden olabilir. Kakao, belirli paragraf ve özel kullanımlar için satır sonu karakterlerini sahiptir NSParagraphSeparatorCharacter, NSLineSeparatorCharacter. İşte yukarıdakilerin tümü için kaynağım.


0

Swift 3'te çok daha basit

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

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

veya bir textView kullanıyorsanız

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

Gönderi, özellikle Objective-C için etiketlenmiştir.
dylan

0

\ N veya \ r çalışmıyorsa ve uiwebview ile çalışıyorsanız ve yeni satır eklemek için <br> etiketini kullanarak html yüklemeye çalışıyorsanız. NSString stringWithFormat'ta sadece <br> etiketini kullanmayın.

Bunun yerine ekleyerek aynısını kullanın. yani stringByAppendingString kullanarak

 yourNSString = [yourNSString stringByAppendingString:@"<br>"];
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.