我正在使用以下代码来设置UIActivityViewController:

NSArray *activityItems = [NSArray arrayWithObjects:[self textMessageToShare], nil];

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
        [activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed) {
            if (completed) {
                [self sendFeedbackWithIndexPath:indexPath AndLikeType:100 AndCell:nil];
            }
        }];
[self.navigationController presentViewController:activityViewController
                                                animated:YES
                                              completion:^{
                                                  // ...
                                              }];

问题是,当我将消息或帖子复制到Facebook或Twitter,电子邮件或gmail应用程序或默认的消息应用程序时,将保留[self textMessageToShare]中的换行符。但是,如果我共享其他事件,例如WhatsApp或Viber,则会删除所有新行字符,并且整个消息将作为一行发送。

而如果我仅通过iOS默认的Notes应用程序共享文本,则与这些应用程序共享时会保留换行符。 Notes应用程序将如何存储换行符?我正在使用\n作为换行符。

我一生都找不到原因。有人可以帮忙吗?

最佳答案

我能够通过将换行符转换为"<br/>"来使其工作:

_myDataString=  self.textview.text;
_myDataString= [_myDataString  stringByReplacingOccurrencesOfString:@"\n" withString:@"<br/>"];

关于ios - UIActivityViewController不将换行符传递给某些事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30255923/

10-15 15:14