确定包含特定字符的CTLine
我正在开发一个应用程序,其中使用核心文本进行布局。我已经使用 CTFrameSetter 来绘制文本。我在文本中插入了一个空白字符“\ufffc”。现在我想要的是确定这个空白字符的位置,即它的 x,y 坐标。我无法找到任何函数来确定任何特定字符的位置。
我尝试使用 CTLineGetOffsetForStringIndex( CTLineRef line, CFIndex charIndex, CGFloat* secondaryOffset ); 来查找位置,但我无法完全理解此方法的工作原理。
有人可以就这个问题给我一些指示吗?
I am developing an Application in which I am using Core Text for layout purpose. I have used CTFrameSetter to draw the text.I have inserted a blank character '\ufffc' in my text. Now what i want is to determine the position of this blank character i.e. its x, y coordinates. I have not been able to find any function to determine the position of any specific character.
I tried using CTLineGetOffsetForStringIndex( CTLineRef line, CFIndex charIndex, CGFloat* secondaryOffset );
for finding the position, but I couldn't fully understand the working of this method.
Can anyone provide me some pointers on this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以循环当前 CTFrameRef 的所有 CTLine,并且对于每个 ctline,获取 CTRun 并检查该 CTRun 是否是您的。简单的代码
you can loop all the CTLines of the current CTFrameRef, and for each ctline, get the CTRun and check if that CTRun is yours. simple code