我可以在Swift 中的文本之间放置UIButton
、UITextField
或UITextView
吗
示例:
-
"关于从互联网下载免费音乐文件,您的
**[UITextField]**
是什么?**[UIButton]**"
-
"你的
**[UITextField]**
关于
从
互联网下载免费的
音乐文件?**[UIButton]**
">
与"example2"一样,布局可能会根据情况而变化。
这不是一项特别容易的任务。您可以使用属性文本来设置单词的风格,并使其"可点击"(就像网页上的超链接(,但这并不能解决在字符串中嵌入可编辑文本字段的问题。
一种方法是在字符串中嵌入"占位符"文本,然后找到该单词的边界框并覆盖文本字段或按钮。你必须确保考虑到单词换行之类的东西,并且需要一些实验才能获得正确的宽度。
因此,您可以将标签的文本设置为:
你的UITextFieldGoes是什么关于从互联网下载免费音乐文件的?UI按钮此处
然后使用代码找到UITextFieldGoesHere
的边界框/矩形,并在其上放置一个文本字段,使其覆盖单词,看起来就像内联一样。UIButtonHere
也是如此。
如果你的按钮可能只是OK
,而你不希望它有左右填充,那么把字符串中的占位符改成类似OKB
的东西。。。只要确保它是唯一的,这样你就可以找到它。
有很多例子可以在标签中找到单词的边界框/矩形。。。使用谷歌(或你最喜欢的搜索引擎(搜索:
uilabel find bounding box of specific word