2010-12-30 3 views
0

Я использую MFMessageComposeViewController для SMS-сообщения в приложении. Проблема в том, что когда у меня есть NSString с пробелом для назначения телу, он удалит все пробелы. Ниже код демонстрирует проблему. Интересно, что он работает, когда я пытаюсь скопировать тот же текст в буфер обмена и вставить в приложение sms.MFMessageComposeViewController with Whitespace


- (void)sendSMS { 
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     [controller setBody:@" aaa aaa"]; 
     controller.recipients = [NSArray arrayWithObjects:nil]; 
     controller.messageComposeDelegate = self; 
     [self presentModalViewController:controller animated:YES]; 
    } 
    [controller release]; 
} 
//it becomes "aaa aaa" on the SMS message box when controller shows up. 

Есть ли у кого-нибудь идеи, как решить эту проблему?

Заранее благодарен!

+0

Просто любопытно: это пробелы в ваших строках или пробелах? – yabada

+0

Это просто пробелы. – James

+0

Я бы попытался назначить вашу константу строки переменной и прямо перед вызовом setBody поместить вызов NSLog с переменной и посмотреть, как она отображается (используйте ту же переменную в вызове setBody). Вероятно, он напечатает то, что вы хотите, но, по крайней мере, это даст вам небольшую информацию. Вы также можете поместить вызов NSLog ([body body]) ПОСЛЕ того, как вы вызываете setBody и смотрите, как это отображается. – yabada

ответ

0

Это все еще проблема 5/2012. Однако вы можете форсировать пробелы с & nbsp. Не лучший вариант, но он работает. MFMailComposeController также потеряет ведущие пробелы на теле и тот же метод работает.

Смежные вопросы