CTFramesetterCreateFrame 和 kCTParagraphStyleSpecifierFirstLineHeadIndent

问题描述 投票:0回答:1

我有一个 200x200px 的矩形。我想使用 CTFramesetterCreateFrame 和 kCTParagraphStyleSpecifierFirstLineHeadIndent 在文本中写入。最大的问题是,如果我想用 kCTParagraphStyleSpecifierFirstLineHeadIndent = 198 编写 this is the text 那么我将得到:

               t
his is the text

CTFramesetterCreateFrame 剪掉了这个词 this ...我想要的是

                .
this is the text

怎么办?

ios core-text ctframe
1个回答
0
投票

您需要对现有代码进行的简洁更改:

CGFloat indent = 198.0; // Adjust this value as needed
// Adjust the rect width to accommodate for the indent
CGRect adjustedRect = CGRectMake(rect.origin.x + indent, rect.origin.y, rect.size.width - indent, rect.size.height);

此更改可确保在使用

CTFramesetterCreateFrame
并指定首行头缩进时,第一行文本不会被切断。根据需要调整
indent
值以获得所需结果。

© www.soinside.com 2019 - 2024. All rights reserved.