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
上执行此操作
我正在使用 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