使多行 UILabel 包裹一个按钮

Make multiline UILabel wrap a button

我正在使用故事板来设计我的 UIView。但我一直坚持这个任务:我有一个多行 UILabelUIViewUIButton。我想让 UILabel 包裹我的按钮 - 文本的第一行有一个尾随约束到 UIButton 另一个到它的超级视图。如果我的 UILabel 没有文本,我在标签底部有一个视图,我需要将此视图尾随约束设为 UIButton,但如果我有一个免费的 space - 它是超级视图。 截图示例:

我想在 'pyat' 之后跳转第二行字。抱歉我的英语不好,希望这张图片可以帮助解释我的问题。 是否可以直接在IB中制作?

也许您可以 UITextView 尝试使用其 textView.textContainer.exclusionPaths 属性 来定义要排除的按钮容器区域,而不是使用 UILabel

看看sample code with a reported issue for selected and editable case

据我所知,如果使用此 属性,您必须将应用程序部署目标的最小值限制为 7 或更高版本。

希望对您有所帮助!

你想做的事情不支持开箱即用,并且需要做很多工作,因为它需要子类化 UILabel 并覆盖 drawRect。

一个简单的解决方案是在标签上设置属性文本,并使用它来格式化特定单词,使其看起来像一个按钮。 UILabel 属性文本支持类似超链接的行为。