gpt4 book ai didi

ios - 如何在 Swift 中比较两点

转载 作者:行者123 更新时间:2023-11-29 02:18:50 25 4
gpt4 key购买 nike

我有一个 UITextView其中包含文本和图像。我还有一个 CGPoint包含用户在 UITextFied 中添加的图像坐标的数组.每当在 UITextView 中发短信时更改(添加或删除),我得到光标的位置是 CGPoint对象。

现在我想遍历我的 CGPoint数组来查找光标位置之后有多少图像,无论是在同一行还是下面的行。我该怎么做?

非常感谢任何帮助。

当然:

var cursor = message.caretRectForPosition(message.selectedTextRange?.end).origin;    
for i in 0...emoji1.count-1 {
if ((cursor.x > emoji_pt[i].x) && (cursor.y <= emoji_pt[i].y)) {
continue;
}
else {
//the emoji is after the cursor.
// Return the index and process all images after that index
}
}

最佳答案

处理Y位置

Bool onPreviousLine = (emoji_pt[i].y < cursor.y)

要处理 X 位置(lineHeight 是一个常量,具体取决于您的情况和图像的大小,您可能可以使用一些较低的常量值(例如 1.0 ))。

Bool onTheSameLine = abs(Double(emoji_pt[i].y - cursor.y)) < Double(lineHeight / 2)
Bool beforeX = (emoji_pt[i].x < cursor.x)

在一起

if onPreviousLine || (onTheSameLine && beforeX) {
continue
}

关于ios - 如何在 Swift 中比较两点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406906/

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