gpt4 book ai didi

cocoa - 在 NSTextView 中拖动插入符号与 characterIndexForPoint 的结果不匹配

转载 作者:行者123 更新时间:2023-11-30 10:31:37 24 4
gpt4 key购买 nike

我正在拖动到 NSTextView(从另一个窗口中的表格)上,当我拖动 NSTextView 中的文本时,会显示一个插入点,其中显示插入点。似乎无法获取此插入符号的位置,我正在使用:

NSPoint mouseLocation = [sender draggingLocation];
NSPoint localMouseLocation = [self convertPoint:mouseLocation fromView:nil];
CGFloat fraction = 0.4;
NSUInteger dropLocation = [[self layoutManager] characterIndexForPoint:localMouseLocation inTextContainer:[self textContainer] fractionOfDistanceBetweenInsertionPoints:&fraction];

问题是有时插入的文本会在显示的插入符号左侧插入一个字符。我尝试了“fractionOfDistanceBetweenInsertionPoints”的不同值,但没有成功。

Q1。有没有办法获取拖动插入符的位置?

第二季度。 Apple 使用什么“fractionOfDistanceBetweenInsertionPoints”值?

第三季度。我应该使用替代方法(也许是drawInsertionPointInRect)吗?

谢谢。

最佳答案

好的,解决方案是使用characterIndexForInsertionAtPoint而不是characterIndexForPoint。因此,

NSPoint mouseLocation = [sender draggingLocation];
NSUInteger dropLocation = [self characterIndexForInsertionAtPoint:[self convertPoint:mouseLocation fromView:nil]];

关于cocoa - 在 NSTextView 中拖动插入符号与 characterIndexForPoint 的结果不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59088619/

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