我正在尝试将标签中的限制设置为10个字符,我是一般的编程新手,所以到目前为止我的第3个月...无论如何,提前感谢: - )
答案 0 :(得分:4)
如果您想将UILabel限制为仅10个字符
你只需要为它分配一个长度为10的文本。
您可以使用NSString
和NSRange
来提取所需的文字。
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))
}