gpt4 book ai didi

iphone - 问题 - 插入文本仅适用于第一次,第二次它会附加到文本末尾

转载 作者:行者123 更新时间:2023-11-29 04:41:05 25 4
gpt4 key购买 nike

URL我使用 uipickerview 在 uitextview 中添加文本。

目前我正在添加如下文本(选择行方法)

self.myTextView.text = [NSString stringWithFormat:@"%@ %@", self.myTextView.text,
[myTierThreeData objectAtIndex:row]];

这工作正常,但我想在光标所在的位置插入文本,所以我做了下面的事情

-(void) pickerViewShown:(id)sender{
myCursorPosition = [self.myTextView selectedRange];
}

当显示pickerview时,获取成员变量中的光标位置。

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

NSString *contentsToAdd = [myData objectAtIndex:row];
NSMutableString *tfContent = [[NSMutableString alloc] initWithString:[self.myTextView text]];
// add content where the cursor was
NSString *contentsToAddPadded = [NSString stringWithFormat:@"%@ ", contentsToAdd];

[tfContent insertString:contentsToAddPadded atIndex:myCursorPosition.location];
[self.myTextView setText:tfContent];
[tfContent release];

myCursorPosition = [self.myTextView selectedRange];
}

上面的代码第一次工作,但是当尝试添加下一个文本时,它会在末尾附加文本。

请告诉我上面的代码有什么问题

最佳答案

设置文本字段的文本可能会将光标位置重置到末尾,因此您唯一的机会是自己计算新的光标位置:

  • 启动选择器 View 时,记住原始光标位置(就像您现在所做的那样)在 myCursorPosition 中。
  • 每次添加文本时,将文本长度添加到 myCursorPosition,并将该值用于插入下一个文本。

关于iphone - 问题 - 插入文本仅适用于第一次,第二次它会附加到文本末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10380477/

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