【问题标题】:UITextView Class, intrinsicContentSize issue from Objective-C to Swift [closed]从Objective-C到Swift的UITextView类,intrinsicContentSize问题[关闭]
【发布时间】:2020-01-22 12:49:34
【问题描述】:

我一直在 Objective-C 中工作,我使用 Swift 的时间很短。我在 Objective- 中有一个 UITextView 类C 我正在研究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)->字符串?没有成员“长度”

【问题讨论】:

标签: ios objective-c swift uitextview intrinsic-content-size


【解决方案1】:

试试这个

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

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

【讨论】:

  • text.isEmpty 会是更好的解决方案。
  • @Sulthan 没错,我已经更新了代码
【解决方案2】:

你可以在swift下面这样使用

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

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 2020-10-28
    • 1970-01-01
    相关资源
    最近更新 更多