2016-01-17 3 views
0

Мой сервер возвращает некоторый текст, содержащий \n. Я ожидаю, что \n напечатает новую строку, но она не работает. Swift просто напечатал текст и \n тоже. Но если я объявляю строку на моем локальном месте, например. n в UILabel не работает

let test = "This is a \nbook" 

Это работает! Swift и UILabel печатает новую строку, например.

This is a 

book 

Тогда мой код я установить

myLabel.numberOfLines = 0 

Это не работает, как ожидалось, но локальные переменные работы.

Я не понимаю, почему.

+0

пожалуйста, вы можете опубликовать на пример текста, который вы пытаетесь распечатать здесь? Таким образом, его можно протестировать с помощью того же кода. – KaraBenNemsi

+1

Возможно, сервер вернул \\ n? Это объясняет, почему это печатает \ n –

ответ

-1
myLabel.numberOfLines = -1 

Создание MyLabel numberOfLines = -1 означает "бесконечные" линии. Надеюсь, это поможет.

+0

, это не работает. если напечатайте или установите его на UILabel. Всегда печатайте «\ n» –

+1

@SakonlapakPetcharayuttap ваш подход правильный. Чтобы разрешить несколько строк, вам необходимо установить его в ZERO https://developer.apple.com/library/ios/documentation/UIKit/Reference/UILabel_Class/#//apple_ref/occ/instp/UILabel/numberOfLines –

+0

@SakonlapakPetcharayuttapan убедитесь, что ваша рамка ярлыка имеет достаточно места для отображения всех строк. –

-1

Если у вас есть такой случай, используйте UITextView вместо UILabel

+0

Для тех, кто ниспроверг, текстовое представление было единственным решением для этого случая. Я получал данные с сервера и при заполнении текста в UILabel \ n не возвращался. – iosMentalist

0

Попробуйте это на строку, вы получаете от сервера:

saleDescription["description"].string!.replacingOccurrences(of: "\\n", with: "\n") 
Смежные вопросы