0

我一直在Objective-C中工作,我使用Swift的时间很短。我在Objective-CUITextView中有一个课程,我正在研究该方法。intrinsicContentSize


Objective-C

-(CGSize)intrinsicContentSize {
    if ([self.text length]) return self.contentSize;
    else return CGSizeZero;
}

现在我正在尝试将我的 Objective-C 代码转换为 Swift,但我遇到了这个函数的问题......

 override var intrinsicContentSize: CGSize {
         if text.lenght() {
              return contentSize
          } else {
              return CGSize.zero
          }
    }

text.lenght似乎给了我一个

类型错误的值 '(UITextRange) -> String? 没有成员“长度”

4

2 回答 2

1

尝试这个

override var intrinsicContentSize: CGSize {
    return text.isEmpty ? .zero : contentSize
}

内在内容大小取决于文本长度(字符串中的字符数),我们返回所需的大小

于 2020-01-22T13:06:44.560 回答
0

你可以像下面这样使用swift

override var intrinsicContentSize: CGSize {
     if self.text.count > 0 {
        return contentSize
     } else {
        return CGSize.zero
     }
 }

希望它会帮助你。

于 2020-01-22T13:05:09.753 回答