Возможны ли разрывы строк при программном создании сообщения в приложении сообщений?

Возможно ли иметь разрыв строки в теле моего SMS-сообщения по умолчанию при перенаправлении из моего приложения Swift iOS?


person Michael Kaminowitz    schedule 10.03.2016    source источник
comment
Вы пытались добавить \n к своей строке?   -  person EmilioPelaez    schedule 11.03.2016
comment
И если вы использовали UILabel для отображения, установили ли вы его строки на 0 (неограниченно)?   -  person Lumialxk    schedule 11.03.2016


Ответы (1)


Абсолютно возможно создать разрыв строки в SMS-сообщении. Это достигается с помощью побега \n , как отметил @EmilioPalaez. В приведенном ниже коде показано, как это можно сделать.

// Create Message Controller //
let messageComposeVC = MFMessageComposeViewController()

// Set Its Delegate //
messageComposeVC.messageComposeDelegate = self

// Set Recipient(s) //
messageComposeVC.recipients = ["555-555-5555"]

// Create Body Text (Note the use of "\n") //
messageComposeVC.body = "This is your message. \nThis is your message on a new line."

// Present Message Controller //
presentViewController(messageComposeVC, animated: true, completion: nil)

Обновить

В качестве альтернативы вы можете удалить экранированный символ новой строки (\n) и просто использовать блочный текст:

// Create Message Controller //
let messageComposeVC = MFMessageComposeViewController()

// Set Its Delegate //
messageComposeVC.messageComposeDelegate = self

// Set Recipient(s) //
messageComposeVC.recipients = ["555-555-5555"]

// Create Body Text (Note the use of an opening and closing """) //
messageComposeVC.body = """
This is your message.
This is your message on a new line.
"""

// Present Message Controller //
presentViewController(messageComposeVC, animated: true, completion: nil)

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

Использование этого метода создания строки позволяет нам размещать элементы на новой строке, делать отступы и т. д. без использования определенных (не всех) специальных экранированных символов. Мы можем просто удалить экранированную новую строку (\n) и вместо этого просто поместить предполагаемый текст в фактическую новую строку.

person ZGski    schedule 10.03.2016