【问题标题】:Swift - Placeholder long text - cut the middleSwift - 占位符长文本 - 切中间
【发布时间】:2015-03-31 00:18:49
【问题描述】:

我有 UITextField 和这样的长占位符: “QWERTYUIOPASDFGHJKLZXCVBNM”,但我的文本字段很小,当我使用函数textField.adjustsFontSizeToFitWidth = true 时,我可以设置的minimumFontSize 是9,但我仍然无法将文本放入文本字​​段。我想剪掉文本的中间,我希望文本是“QWERTY...CVBNM”怎么做?

【问题讨论】:

  • 通常在IB中可以将段落样式设置为Truncate Middle。
  • 我的 textField 是程序化的
  • 我在 OSX 上,但 NSTextField 内部有一个 TextFieldCell,其中有 setUpFieldEditorAttributes,您可以在其中修改段落样式。
  • UILabel 允许在中间截断,但我在 IB 中没有看到 UITextField 的这个选项。
  • 这就是我问这个问题的原因:)

标签: ios swift textfield placeholder


【解决方案1】:
func cutTheMiddleOfLongString(var string:String) -> String {
    if(countElements(string)>20){
        let begining = string[advance(string.startIndex, 0)..<advance(advance(string.startIndex, 0), 12)]
        let ending = string[advance(string.startIndex, countElements(string)-8)..<advance(advance(string.startIndex, countElements(string)-8), 8)]
        string = begining + "..." + ending
    }
    return string
}

这将获取字符串的前 12 个字母和后 8 个字母,并将 ... 放在它们之间(开始结束)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2023-03-16
    • 2015-02-23
    • 2013-07-07
    • 1970-01-01
    • 2014-11-22
    相关资源
    最近更新 更多