你如何限制swift中的UILabel角色?

时间:2015-10-05 22:08:10

标签: swift uilabel character-limit

我正在尝试将标签中的限制设置为10个字符,我是一般的编程新手,所以到目前为止我的第3个月...无论如何,提前感谢: - )

3 个答案:

答案 0 :(得分:4)

如果您想将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))
}

答案 1 :(得分:0)

您还可以创建一个'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
}

}

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

label.text = "This is a Very Long Label".maxLength(length: 10)

先前的代码已在 Swift 5.0

中进行了测试

答案 2 :(得分:-1)

SWIFT 3

        let str = GL_GetNews[indexPath.row]["n_body"].stringValue
        let nsString = str as NSString
        if nsString.length > 0
        {
             cell.newsDescription.text = nsString.substring(with: NSRange(location: 0, length: nsString.length > 200 ? 200 : nsString.length))
        }