Activity View Controller 在新行中显示 URL

Posted

技术标签:

【中文标题】Activity View Controller 在新行中显示 URL【英文标题】:Activity View Controller displaying URL in new line 【发布时间】:2015-09-01 06:28:30 【问题描述】:

我想用 UIActivityViewController 在单行中显示文本 + Url。但它在新行中显示 URL。我正在使用以下代码

NSString *text = [NSString stringWithFormat:@"%@%@",@"Hello:",@" - "];
 NSURL *url = [NSURL URLWithString:@"http://www.raywenderlich.com/84174/ios-8-handoff-tutorial"];

UIActivityViewController *controller =[[UIActivityViewController alloc]initWithActivityItems:@[[NSString stringWithFormat:@"%@%@",text,url]] applicationActivities:nil];
[controller setValue:@"Hello" forKey:@"subject"];

[self presentViewController:controller animated:YES completion:nil];

这是附上的截图。 任何帮助表示赞赏!谢谢

【问题讨论】:

可能是因为自动换行?如果您使用%@%@ 之类的格式(即删除空格)怎么办? 是的,它与自动换行有关。我做了你建议的同样的事情。但是没有工作! @SIVAJEEBATTINA,更新您的代码。你有什么尝试呢。从您的字符串中删除所有空格,然后它不会包装您的字符串。 我在单行中得到了相同的结果。 iOS 版本? 请使用更新后的网址并进行测试 【参考方案1】:

你可以通过在里面添加html代码来做一个技巧

UIActivityViewController *controller =[[UIActivityViewController alloc]initWithActivityItems:@[@"Hello:-  <html><body><a href=\"http://www.raywenderlich.com/84174/ios-8-handoff-tutorial\">link text</a></body></html>"] applicationActivities:nil];

注意:无法按原样查看冗长的 URL,但您可以通过另一种棘手的方式做到这一点,即在链接中的文本之间添加空格,如下所示,

UIActivityViewController *controller =[[UIActivityViewController alloc]initWithActivityItems:@[@"Hello:-  <html><body><a href=\"http://www.raywenderlich.com/84174/ios-8-handoff-tutorial\">http://www.raywenderlich.com /84174/ ios-8-handoff-tutorial </a></body></html>"] applicationActivities:nil];

【讨论】:

以上是关于Activity View Controller 在新行中显示 URL的主要内容,如果未能解决你的问题,请参考以下文章

Android--再探MVP模式

Android Mvp架构的小demo

浅谈 MVCMVPMVVM 模式

图解MVCMVPMVVM模式的区别

Android - 框架之MVP模式的使用

在类中设置“this”