gpt4 book ai didi

ios - 带有日文键盘的 UITextView attributedText 重复输入

转载 作者:可可西里 更新时间:2023-11-01 03:31:38 25 4
gpt4 key购买 nike

我需要在 TextView 中使用两种不同的字体,所以我在 textViewDidChange 中设置了属性文本。但是对于日文键盘,输入的字符是重复输入的。

它适用于英文键盘。当您使用普通文本而不是属性文本时,它也适用于日文键盘。

我的代码:

- (void)viewDidLoad {
[super viewDidLoad];

UITextView *textView = [[UITextView alloc] initWithFrame:self.view.frame];
textView.delegate = self;
[self.view addSubview:textView];
}

- (void)textViewDidChange:(UITextView *)textView
{
NSLog(@"TOTAL: %@", textView.text);

textView.attributedText = [[NSMutableAttributedString alloc] initWithString: textView.text];
}

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSLog(@"ADDED: %@", text);

return YES;
}

输出:

2015-07-15 13:51:10.156 japKeyTest[32163:5765000] ADDED: a
2015-07-15 13:51:10.167 japKeyTest[32163:5765000] TOTAL: あ
2015-07-15 13:51:11.376 japKeyTest[32163:5765000] ADDED: a
2015-07-15 13:51:11.378 japKeyTest[32163:5765000] TOTAL: あああ
2015-07-15 13:51:12.054 japKeyTest[32163:5765000] ADDED: a
2015-07-15 13:51:12.055 japKeyTest[32163:5765000] TOTAL: ああああああ

预期:

2015-07-15 13:51:10.156 japKeyTest[32163:5765000] ADDED: a
2015-07-15 13:51:10.167 japKeyTest[32163:5765000] TOTAL: あ
2015-07-15 13:51:11.376 japKeyTest[32163:5765000] ADDED: a
2015-07-15 13:51:11.378 japKeyTest[32163:5765000] TOTAL: ああ
2015-07-15 13:51:12.054 japKeyTest[32163:5765000] ADDED: a
2015-07-15 13:51:12.055 japKeyTest[32163:5765000] TOTAL: あああ

知道如何使用日文键盘输入属性文本并获得正常结果吗? (没有多余的字符)

最佳答案

This answer帮我弄明白了:检查 UITextView 上的 markedTextRange 是否不为零。这意味着用户正在输入多阶段字符。在完成之前不要编辑 attributedText。

关于ios - 带有日文键盘的 UITextView attributedText 重复输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31430308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com