Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 添加'';在UILabel Word Wrapped属性之后_Ios_Objective C_Swift_Uilabel - Fatal编程技术网

Ios 添加'';在UILabel Word Wrapped属性之后

Ios 添加'';在UILabel Word Wrapped属性之后,ios,objective-c,swift,uilabel,Ios,Objective C,Swift,Uilabel,我有一个最大行数为2的UILabel和一个单词包装属性。这是在故事板中完成的 我需要在最后一个被包装的单词之后添加一个“…”,在那些最终被包装的标签上 这可能吗?我在互联网上尝试了一些解决方案,但似乎没有奏效。这些措施包括: 测试标签是否已被截断,并将“…”附加到已截断的标签上 以编程方式使用属性文本劫持情节提要 尝试使用Truncate Tail-无法使用此选项,因为它会像“Highli…”一样截断单词 我想我明白你想做什么。这有点草率,但应该行得通 extension UILabel {

我有一个最大行数为2的UILabel和一个单词包装属性。这是在故事板中完成的

我需要在最后一个被包装的单词之后添加一个“…”,在那些最终被包装的标签上

这可能吗?我在互联网上尝试了一些解决方案,但似乎没有奏效。这些措施包括:

  • 测试标签是否已被截断,并将“…”附加到已截断的标签上
  • 以编程方式使用属性文本劫持情节提要
  • 尝试使用Truncate Tail-无法使用此选项,因为它会像“Highli…”一样截断单词

    • 我想我明白你想做什么。这有点草率,但应该行得通

       extension UILabel {
              func truncateAndFitText()
              {
                  if let string = self.text
                  {
                      let words = string.components(separatedBy: " ")
                      var lastString = ""
                      var tempString = ""
      
                      for word in words 
                      {
                          (tempString == "") ? tempString.append(word) : tempString.append(" \(word)")
                          let size: CGSize = tempString.size(attributes: [NSFontAttributeName: self.font])
                          if (size.width > (self.bounds.size.width * CGFloat(self.numberOfLines)))
                          {
                              lastString.append("...")
                              break
                          }
                          else
                          {
                              lastString = tempString
                          }
                      }
      
                      self.text = lastString
                  }
              }
          }
      
      然后像这样使用它

      myLabel.truncateAndFitText
      

      @Rikh Correct-它截断了一半,这不是客户想要的。>_