Подтвердить что ты не робот

Добавление разрыва строки в UITextView

У меня есть UITextView, который принимает NSString с форматированием stringWithUTF8String. Он получает свои значения из базы данных, и я хочу, чтобы текст в базе данных отображался с разрывами в тексте. Я попытался использовать \n, чтобы сделать это, но он будет отображаться как текст. Выполнение этого на моей информационной странице приложения, как прямой текст работал, но я думаю, что причина его не работает при ее взятии из базы данных из-за форматирования.

Любые предложения?

4b9b3361

Ответ 1

Если вы хотите добавить новую строку в Xcode5/Xcode6 раскадровку Attribute-Inspector (AI), вы сделаете так:

  • Вытащите UITextView.
  • Дважды щелкните его, чтобы отредактировать текст, поместите курсор туда, где вы хотите разбить абзац.
  • Нажмите alt-Enter пару раз, чтобы создать пустую строку и абзац.

Или, CTRL + Return сделать новую строку.

Теперь вы можете увидеть эффект в режиме вывода/просмотра в раскадровке. enter image description here

Ответ 2

Разверните tc немного: когда у вас есть строки новой строки, вы, вероятно, захотите преобразовать их в \n (то есть @"\\n" в Cocoa), затем сохраните их в базе данных и, получив строку BACK из базы данных, вы, вероятно, захотите преобразовать их обратно в новые строки. Поэтому вы бы использовали код примерно так:

NSString *saveString = [myTextField.text stringByReplacingOccurrencesOfString: @"\n" withString: @"\\n"];
// save it to the db
// ... later ...
NSString *dbString = // get the string from the db.
myTextField.text = [dbString stringByReplacingOccurrencesOfString: @"\\n" withString: @"\n"];

Ответ 3

Просто ниже:

{
textView.text = @"January: 7th,21st,\n February: 4th,18th,\n March: 4th,18th,\n April: 1st, 15th, 29th, \n May: 13th, 27th, \n June: 10th,24th, \n July: 8th, 22nd, \n August: 5th, 19th, \n September: 2nd, 16th, 30th, \n October: 14th, 28th, \n November: 11th, 25th";
        NSLog (@"Recycle Dates for Abbey Way");

}

будет выводиться ниже в вашем текстовом элементе или в любом другом месте, которое вы выбираете

Выход:

Январь: 7, 21,

Февраль: 4, 18,

Март: 4-й, 18-й и т.д. И т.д.

Ответ 4

Я думаю, вы должны попробовать использовать "\ r".

Я тестировал его на Xcode 4.2.1, iOS 4.3

Изменить: это также работает в iOS 3.0 и iOS 5.1

Ответ 5

В Swift просто добавьте "\n" между двумя строками

Пример:

let firstString = "Hello"

let secondString = "Senorita"

textview.text = firstString + "\n" + "secondString"

Ответ 6

UITextView будет принимать новые строки, но он не будет работать с возвратом кариеса. Вам нужно будет убедиться, что ваш вход правильный.

Я попробовал его в редакторе IB, и сначала имел некоторые проблемы с ним. Затем я использовал текстовый редактор, набрал текст и вставил его в редактор IB.

Это трюк, для меня. Ваш источник поступает из базы данных, поэтому я думаю, что новоиспеченные строки - это новые строки, но возврат каретки или другое. Проверьте строку HEX вашего ввода.

Ответ 7

Установите тип клавиатуры (UIKeyboardType) и (UIReturnKeyTYpe) returnKeyType

если вы строите код.

Если вы используете IB, просто перейдите на первую панель инспектора и установите TextInputTraits

Ответ 8

когда вы получаете от db. попробуйте

NSString *content = [mytext stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
self.textView.text = content;

Ответ 9

если вы получаете текст из Интернета, убедитесь, что вы помещаете пробел до и после /n которые решили мою проблему

в качестве примера (php):

echo $item_detail['item_title']."  \n ";

Ответ 10

Расширение ответа Olie... В Swift код для обновления строки из базы данных:

let dbString = // get the string from the db.
myTextField.text = dbString.stringByReplacingOccurrencesOfString("\\\\n", withString: "\n")

Понадобился время, чтобы разобраться, так что подумал, что буду делиться.

Ответ 11

Вы сохраняете литерал "\n" в базе данных. Попробуйте сохранить новую строку.