小编dot*_*mis的帖子

CTFramesetterSuggestFrameSizeWithConstraints,剪切属性返回零高度

H!我正在编写带有子视图剪辑功能的te​​xtview.我们的想法是让所有文字都围绕所有子视图绘制.问题是获得它的内容高度.

由于缺少文档,我决定CTFramesetterSuggestFrameSizeWithConstraints的属性字典与CTFramesetterCreateFrame的属性字典相同.

这是我的剪切路径代码:

-(CFDictionaryRef)clippingPathsDictionary{
if(self.subviews.count==0)return NULL;

NSMutableArray *pathsArray = [[NSMutableArray alloc] init];

CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformScale(transform, 1, -1);
transform = CGAffineTransformTranslate(transform, 0, -self.bounds.size.height);

for (int i=0; i<self.subviews.count; i++) {
    UIView *clippingView = self.subviews[i];
    CGPathRef clipPath = CGPathCreateWithRect(clippingView.frame, &transform);

    NSDictionary *clippingPathDictionary = [NSDictionary dictionaryWithObject:(__bridge id)(clipPath) forKey:(__bridge NSString *)kCTFramePathClippingPathAttributeName];
    [pathsArray addObject:clippingPathDictionary];
    CFRelease(clipPath);
}


int eFrameWidth=0;
CFNumberRef frameWidth = CFNumberCreate(NULL, kCFNumberNSIntegerType, &eFrameWidth);

int eFillRule = kCTFramePathFillEvenOdd;
CFNumberRef fillRule = CFNumberCreate(NULL, kCFNumberNSIntegerType, &eFillRule);

int eProgression = kCTFrameProgressionTopToBottom;
CFNumberRef progression = CFNumberCreate(NULL, …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c core-text ios

3
推荐指数
1
解决办法
2268
查看次数

标签 统计

cocoa-touch ×1

core-text ×1

ios ×1

objective-c ×1