我可以在 swift 中的文本之间放置 UIButton 或 UITextField 或 UITextView 吗

Can I put a UIButton or UITextField or UITextView between the texts in swift

我可以在 Swift

中的文本之间加上 UIButtonUITextFieldUITextView

示例:

  1. “关于从 Internet 下载免费音乐文件,您**[UITextField]**有什么看法?**[UIButton]**"

  2. "你的是什么 **[UITextField]** 关于
    免费下载
    来自
    的音乐文件 互联网?**[UIButton]**"

同"example2"一样,布局可能会视情况而变

这不是一件特别容易的事。您可以使用属性文本来风格化单词并使其成为 "tappable"(就像网页上的超链接),但这并不能解决在字符串中嵌入可编辑文本字段的问题。

一种方法是在您的字符串中嵌入 "placeholder" 文本,然后找到该词的边界框并覆盖文本字段或按钮。您必须确保考虑自动换行之类的问题,并且需要进行一些实验才能获得正确的宽度。

因此,您可以将标签文本设置为:

What is your UITextFieldGoesHere about downloading free music files from the Internet? UIButtonHere

然后使用代码找到 UITextFieldGoesHere 的边界框/矩形,并在其上放置一个文本字段,使其覆盖单词并且 看起来 喜欢它是内联的。与 UIButtonHere.

相同

如果您的按钮可能只是 OK,并且您不希望它因左右填充而变宽,请将字符串中的占位符更改为 OKB 之类的内容...只需制作确保它是唯一的,这样您就可以找到它。

有很多关于在标签中查找单词的边界框/矩形的示例...使用 Google(或您最喜欢的搜索引擎)搜索:

uilabel find bounding box of specific word