【问题标题】:How do I insert a UITextField within a UILabel in Swift?如何在 Swift 中的 UILabel 中插入 UITextField?
【发布时间】:2020-01-10 19:38:22
【问题描述】:

我希望能够以编程方式在 UILabel 中插入 UITextField。例如,考虑一个填空问题:

“今天是 ______,是 9 月 8 日。”

(答案是“星期天”)。下划线部分类似于 UITextField,而引用的文本是标签。

我的第一个想法是在 UILabel String 中插入一个特殊字符,代表 UITextField

(例如,“今天是 @ 并且是 9 月 8 日。”)。

然后,一个函数将用一定的空间替换特殊字符,这将为 UITextField 提供足够的空间来放置。因此,我们可以计算出 UITextField 的长度。但是,使用该策略,我无法确定在算法上定位 UITextField 的位置——它如何找到该位置?

我希望以编程方式执行此操作的原因是我可以有一个句子数组,并且无论特殊字符出现在哪里,该函数都会将该字符替换为 UITextField。

如果您对如何以不同方式执行此操作有任何建议,请告诉我!

如果该解释在任何时候令人困惑,请告诉我。

谢谢!

【问题讨论】:

  • 标签和文本字段是两个不同的东西。用户不编辑标签,文本字段是。您需要查看String(format:) 并将该字符串中的文本分配给标签或文本字段上的文本。也可以看看这个问题。 stackoverflow.com/q/24074479/4475605

标签: arrays swift uitextfield uilabel


【解决方案1】:

对于您的情况,您可以将 UITextfield 放在标签下,然后您可以获取数据并使用字符串格式将其插入标签中

let str = "Today is %@ and is the 8th day of September."

lbl.text = String(format:str,textfield.text)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多