มีใครรู้วิธีใช้ตัวแบ่งบรรทัดใน NSString บ้าง? ฉันต้องทำอะไรแบบนี้ -
[NSString stringWithFormat:@"%@,\n%@", mystring1,mystring2];
มีใครรู้วิธีใช้ตัวแบ่งบรรทัดใน NSString บ้าง? ฉันต้องทำอะไรแบบนี้ -
[NSString stringWithFormat:@"%@,\n%@", mystring1,mystring2];
คำตอบ:
ฉันเพิ่งพบปัญหาเดียวกันเมื่อโอเวอร์โหลด - คำอธิบายสำหรับคลาสย่อยของ NSObject ในสถานการณ์นี้ฉันสามารถใช้ carriage return (\ r) แทน newline (\ n) เพื่อสร้างตัวแบ่งบรรทัด
[NSString stringWithFormat:@"%@\r%@", mystring1,mystring2];
หากสตริงของคุณอยู่ใน UIView (เช่น UILabel) คุณต้องกำหนดจำนวนบรรทัดเป็น 0
myView.numberOfLines=0;
ฉันพบว่าเมื่อฉันอ่านสตริงจาก.plist
ไฟล์เหตุการณ์ที่เกิดขึ้น"\n"
จะถูกแยกวิเคราะห์เป็น"\\n"
. วิธีการแก้ปัญหาสำหรับผมคือการเปลี่ยนการเกิดขึ้นของด้วย"\\n"
"\n"
ตัวอย่างเช่นเมื่อNSString
ตั้งชื่อmyString
อ่านจาก.plist
ไฟล์ของฉันฉันต้องเรียก ...
myString = [myString stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
... ก่อนที่จะกำหนดให้UILabel
อินสแตนซ์ของฉัน...
myLabel.text = myString;
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];
ลองสิ่งนี้ (stringWithFormat ต้องขึ้นต้นด้วยตัวพิมพ์เล็ก)
[NSString stringWithFormat:@"%@\n%@",string1,string2];
\ n \ r ดูเหมือนจะใช้ได้ผลสำหรับฉัน
ฉันใช้ Xcode 4.6 กับ IOS 6.0 เป็นเป้าหมาย ทดสอบบน iPhone 4S ลองดูด้วยตัวเอง
เฟิงชิว
อักขระแบ่งบรรทัดสำหรับ NSString คือ \ r
วิธีใช้ที่ถูกต้อง [NSString StringWithFormat:@"%@\r%@",string1,string2];
\ r ----> การกลับรถ
\n
เป็นวิธีที่ดีที่สุดในการแบ่งบรรทัด \r
จะทำงานด้วย \n\r
หรือ\r\n
ใช้งานมากเกินไปและอาจทำให้เกิดปัญหาในภายหลัง โกโก้มีวรรคที่เฉพาะเจาะจงและตัวละครแบ่งบรรทัดสำหรับการใช้งานที่เฉพาะเจาะจง, NSParagraphSeparatorCharacter
นี่คือแหล่งที่มาของฉันสำหรับทั้งหมดข้างต้นNSLineSeparatorCharacter
ใน Swift 3 นั้นง่ายกว่ามาก
let stringA = "Terms and Conditions"
let stringB = "Please read the instructions"
yourlabel.text = "\(stringA)\n\(stringB)"
หรือถ้าคุณใช้ textView
yourtextView.text = "\(stringA)\n\(stringB)"
ในกรณีที่ \ n หรือ \ r ไม่ทำงานและหากคุณกำลังทำงานกับ uiwebview และพยายามโหลด html โดยใช้แท็ก <br> เพื่อแทรกบรรทัดใหม่ อย่าเพิ่งใช้แท็ก <br> ใน NSString stringWithFormat
แทนที่จะใช้สิ่งเดียวกันโดยต่อท้าย เช่นโดยใช้ stringByAppendingString
yourNSString = [yourNSString stringByAppendingString:@"<br>"];