2

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

我希望能够单击选择,因此矩形是在 CTFrame 上具有 50% 不透明度的 UIButton。

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

解决问题的任何想法,即在文本下方有一个选择标记并且可点击?


这是文本突出显示示例:

CTFrame 上的文本选择

4

2 回答 2

2

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

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

于 2012-08-07T13:48:34.113 回答
0

我认为您可以使用点击手势识别器,当点击时,只需检查点击点是否在突出显示部分的矩形中。而且我认为点击手势识别器适用于 UIScrollView(不像其他手势)。

于 2012-08-23T23:26:22.810 回答