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 转换。
我正在使用 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 转换。