gpt4 book ai didi

objective-c - Core Text CTFrame 上的可点击区域

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:41 24 4
gpt4 key购买 nike

我在 UIScrollView 上放置了一些 CTFrame 文本列,我制作了一个选择工具来选择和突出显示文本,如下图所示。

我希望能够单击选择,所以矩形是 UIButtons,不透明度为 50%,在 CTFrame 上。

问题如下:由于某种原因,按钮的 TouchUpInside 事件没有被触发,我认为如果高亮显示在 CTFrame 下方,效果会更好,但我认为按钮不会收到事件。

有什么办法可以解决这个问题,例如,在文本下方添加一个选择标记并且可以点击?


这是文本高亮示例:

Text selection over CTFrame

最佳答案

您是如何将 CTFrames 放置到 UIScrollView 的? CTFrame 不是 UIView 的子类。你在哪里画它?还要检查您的 UIScroll View 的内容大小。

使用 UIButtons 不是一个好主意,最好直接用 Core Graphics 绘制。触摸应该由 UIView 本身处理,然后转换为适当的文本。使用 CTFrameGetLineOrigins() 找到正确的行(通过检查 Y 原点),然后使用 CTLineGetStringIndexForPosition() 找到行内的正确字符(减去行后起源于点)。

关于objective-c - Core Text CTFrame 上的可点击区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847127/

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