当前位置: 首页 > 知识库问答 >
问题:

如何限制swift中的UILabel字符?

方和宜
2023-03-14

我想把我的标签限制为10个字符,我是一个完全的编程新手,所以这是我到目前为止的第三个月了。。。无论如何,提前谢谢:-)

共有3个答案

公西飞鸾
2023-03-14

看看这个答案: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) + " ..."
    }
}
祁柏
2023-03-14

如果要将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))
}
公羊晟
2023-03-14

您还可以创建一个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时,它将不再插入任何字符,但实际情况是,它也不允许删除插入的字符,进行替换或其他操作。如何解决这个问题? 问题答案: 只需更改您当前的删除方法: 为此: 现在应该可以了。