tableview 中的 Textview 将文本设置为全部大写 [Mac Catalyst]

Textview in tableview is sets text to all caps [Mac Catalyst]

我正在使用 Mac Catalyst 将我的 iPad 应用程序调整为 Mac,但 UITableViewCell 中的 UITextView 出现异常行为.当我呈现视图时,我会自动使文本视图处于焦点状态,但是在 Mac 上,无论我在其中键入什么, 文本都会显示为大写 。 iPhone 或 iPad 版本从未发生过这种情况。我不确定为什么会这样(我的大写锁定未打开),我尝试了多个键盘并得到了相同的结果。也不是每次都这样,很随机。

这是我的代码:

class TextViewCell: UITableViewCell {

     override func awakeFromNib() {
          super.awakeFromNib()

          textView.delegate = self
          textView.isScrollEnabled = false
          textView.returnKeyType = .done
     }

     //populate funcion called by the tableview. Just sets the textView into focus if it's the first time the view shows
     func populate(isFirstLoad: Bool = false) {

          //I set isFirstLoad to false after calling on this function in the tableview so this is only called on once
          if isFirstLoad {
               self.titleTF.becomeFirstResponder()
          }
     }
}


// MARK: - textView functions
extension TextViewCell: UITextViewDelegate {
     func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
          if (text == "\n") {
               textView.resignFirstResponder()
               return false
          }
          return true
     }
}

有其他人 运行 遇到过这个问题并且知道如何解决吗???

我过去也遇到过同样的问题。因为是在Mac上,我觉得不需要大写,所以直接设置textView.autocapitalizationType = .none就不会出现那个奇怪的bug了。您也可以将其包裹在 #if targetEnvironment(macCatalyst) 中,这样它只会在 Mac

上执行此操作