如何快速限制UILabel字符?

Kra*_*owl 0 character-limit uilabel swift

我正在尝试将标签中的字符数限制为10个字符,对于一般的编程人员来说,我是一个完全的新手,所以到目前为止,我的第三个月...无论如何都要感谢:-)

Jua*_* T. 9

您还可以创建一个String扩展并将其与任何文本字符串一起使用。您可以通过以下方式进行操作:

创建扩展:

extension String {
   func maxLength(length: Int) -> String {
       var str = self
       let nsString = str as NSString
       if nsString.length >= length {
           str = nsString.substring(with:
               NSRange(
                location: 0,
                length: nsString.length > length ? length : nsString.length)
           )
       }
       return  str
   }
}
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式使用扩展:

label.text = "This is a Very Long Label".maxLength(length: 10)
Run Code Online (Sandbox Code Playgroud)

之前的代码在Swift 5.0中测试过


Chr*_*lla 5

如果要将UILabel限制为仅10个字符,则只需为其分配长度为10的文本即可。您可以使用NSStringNSRange提取所需的文本。

let str = "This is a Very Long Label"
let nsString = str as NSString
if nsString.length >= 10
{
  label.text = nsString.substringWithRange(NSRange(location: 0, length: nsString.length > 10 ? 10 : nsString.length))
}
Run Code Online (Sandbox Code Playgroud)

  • 当然,如果`str`开头少于10个字符,此代码将崩溃。 (2认同)