UITextView 将三个连续的点(...) 转换成椭圆形的小点(\u2026)

UITextView convertes three consecutive dots(...) into ellipses smaller dots(\u2026)

我正在使用 UITextView,当用户输入三个连续的点 ...,它被替换为省略号 ... (unicode \u2026)。如何避免这种情况?我需要用户输入的实际字符串;不是自动更正的字符串。

注意:我曾尝试将 autoCorrectionType 设置为 .no,但没有成功。

   let textView = UITextView()
   textView.delegate = self
   textView.translatesAutoresizingMaskIntoConstraints = false
   textView.font = UIFont.preferredFont(forTextStyle: .caption1)

这里是委托方法,

func textViewDidChange(_ textView: UITextView) {
   print("User entered string: \(textView.string)")
}

来自苹果的docs

Instance Property

smartDashesType

The configuration state for smart dashes.

Discussion

Use this property to configure whether UIKit converts two hyphens into an en-dash and three hyphens into an em-dash automatically. The default value of this property is UITextSmartDashesType.default, which selectively enables smart dashes based on the keyboard type.

奇怪的是,它没有提到将三个连续的句点转换为省略号,但它是该功能的部分。

因此,使用:

let textView = UITextView()
textView.smartDashesType = .no

将禁用它 -- 但它也会禁用 en-dash 和 em-dash 转换。