如何在 UIMenuItem 中显示多行?

Posted

技术标签:

【中文标题】如何在 UIMenuItem 中显示多行?【英文标题】:How to display more than one line in UIMenuItem? 【发布时间】:2013-04-07 19:15:49 【问题描述】:

我试图在自定义 UIMenuItem 中显示多行文本。 我尝试在 UIMenuItem 的 title 属性中使用一个简单的“\n”,但没有成功。 示例:

UIMenuItem *menuItem; //Is then allocated properly....

// Before the Menu is displayed
menuItem.title = @"This is a first line.\nThis is a second line.";

不幸的是,我最终只显示了一行......

我想要达到的效果类似于您在 Apple iPod/Music 应用程序中的 LongPress 上看到的效果。

我刚刚发现了这个 github 项目作为解决方案: https://github.com/questbeat/QBPopupMenu

您可以在 MenuItem 中显示任何自定义 UIView。所以我插入了一个多行的 UILabel 并且有效。

但是,如果可能的话,我宁愿使用本机 Apple UIMenutItem 方法。有任何想法吗?提前致谢。

【问题讨论】:

【参考方案1】:

您需要更改UIMenuItem 的一些内部属性,但不幸的是Apple 没有提供这样做的方法。

所以,就今天而言,无法更改UIMenuItem 的显示。

【讨论】:

感谢您的回答加布里埃尔!我想我们必须等到 ios 7.0 ;-)【参考方案2】:

你试过用“\r”代替“\n”吗?

【讨论】:

iOS 是基于 Unix 的,所以\n 用于换行

以上是关于如何在 UIMenuItem 中显示多行?的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何从 UIMenuController 获取选定的 UIMenuItem

如何从 iOS 的 UIMenuController 中删除默认的 UIMenuItem?

在显示之前将动态自定义 UIMenuItem 添加到复制和粘贴菜单

即使在指针设置为 nil 后 UIMenuItem 仍会继续显示

UIMenuItem 可以显示 UIImage 吗?

UIMenuItem 可以显示 UIImage 吗?