看看这个答案:https://stackoverflow.com/a/39677331/2548473
我的版本是(Swift 5):
extension String {
func shorted(to symbols: Int) -> String {
guard self.count > symbols else {
return self
}
return self.prefix(symbols) + " ..."
}
}
如果要将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))
}
您还可以创建一个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中进行了测试
问题内容: 我有一个只有几行文字的标签,我想增加两行之间的间距。其他人也有类似的问题,但是解决方案不能解决我的问题。另外,我的标签可能包含也可能不包含段落。我是新来的。有使用情节提要的解决方案吗?还是只能通过其可能? 问题答案: 使用以下代码段将LineSpacing编程添加到您的代码中。 早期的Swift版本 迅捷4.0 斯威夫特4.2
本文向大家介绍如何限制UITextField在Swift中只接受数字?,包括了如何限制UITextField在Swift中只接受数字?的使用技巧和注意事项,需要的朋友参考一下 在iOS应用中,有时我们需要将文本字段限制为仅将数字作为输入,这可以通过多种方式完成,下面让我们来看一些。 方法1:从情节提要中更改文本字段类型。 选择要限制为数字输入的文本字段。 转到其属性检查器。 选择键盘类型,然后从中
问题内容: 如果将多个行放在一行中,是否可以减少文本之间的间距?我们可以设置框架,字体大小和行数。我想缩小该标签中两行之间的间距。 问题答案: 我考虑过要在此答案中添加一些新内容,因此我感觉还不错……这是一个 Swift 答案: “简短的回答:您不能。要更改文本行之间的间距,您将必须继承UILabel子类并滚动自己的drawTextInRect或创建多个标签。” 这是一个非常古老的答案,其他人已经
问题内容: 如何限制在JTextField中输入的字符数? 假设我要输入最多5个字符。此后,不能输入任何字符。 问题答案: 然后 (谷歌的第一个结果)
问题内容: 我发现这样改变字体和大小: 但是UILabel没有这种方法 我想做喜欢 我不想在StoryBoard中更改UILabel字体 我想使用程序来执行此操作(因为我的应用已完成,但是只有字体应更改为更大字体和其他字体) 我该怎么办 ? 问题答案: 首先,您需要向UILabel添加扩展名: 第二次使用外观进行设置: 希望能帮助到你。
问题内容: 请看下面的代码。 在这里,我试图将字符数限制为5。好,当达到5时,它将不再插入任何字符,但实际情况是,它也不允许删除插入的字符,进行替换或其他操作。如何解决这个问题? 问题答案: 只需更改您当前的删除方法: 为此: 现在应该可以了。