Tôi đang tải một số văn bản trợ giúp từ một plist và hiển thị giống nhau ở dạng UILabels nằm trong UIScrollView. Phần mã sau:Ngắt dòng không hoạt động ở UILabel
UILabel *sectionDetailLabel = [[[UILabel alloc] initWithFrame:CGRectMake(34, myOriginForThisSection, 286, 20)] autorelease];
sectionDetailLabel.backgroundColor = [UIColor clearColor];
sectionDetailLabel.numberOfLines = 0;
sectionDetailLabel.font = [UIFont systemFontOfSize:12];
sectionDetailLabel.textColor = [UIColor blackColor];
sectionDetailLabel.textAlignment = UITextAlignmentLeft;
sectionDetailLabel.lineBreakMode = UILineBreakModeWordWrap;
[baseScrollView addSubview:sectionDetailLabel];
[sectionDetailLabel setText:myStringForThisSection];
[sectionDetailLabel sizeToFit];
Trong khi bất kỳ văn bản 'dài' là nhận được quấn thành nhiều dòng một cách chính xác, tôi không thể tự chèn thêm bất kỳ dòng-chia sử dụng xuống dòng '\ n' nhân vật trong 'myStringForThisSection '. Tôi chỉ thấy các ký tự '\' và 'n' được in trong UILabel ở bất kỳ nơi nào tôi muốn thay vào đó.
Tôi đã xem xét điều này và sự đồng thuận chung dường như là thiết lập numberOfLines thành 0, thiết lập lineBreakMode thành giá trị hợp lệ và gọi sizeToFit (hoặc thiết lập khung của UILabel dựa trên sizeWithFont :) nên làm. Tất cả những gì tôi dường như đang làm trong đoạn mã ở trên - và hoạt động hoàn hảo khi lắp các chuỗi dài không biết dài vào nhiều dòng trên UILabel. Vì vậy, những gì có thể bị thiếu ở đây?
Lưu ý: Tất cả các biến được sử dụng - baseScrollView, myStringForThisSection và myOriginForThisSection - được tải trước khi mã trên bắt đầu thực thi và hoạt động tốt.
Nếu chuỗi xuất phát từ một nguồn bên ngoài, điều này sẽ xảy ra. Nếu nó được khai báo/tạo ra trong mã (thậm chí có thể trong một plist), dòng mới sẽ được mã hóa như vậy. Tuy nhiên, một dòng mới phải được theo sau bởi dấu cách, nếu dòng đó là một dòng trống. –