我正在尝试创建一个充当圆形TextView的UIView。我可以在iOS 4.2+上做到这一点,但在4.0& 4.1,下面对CTFramesetterCreateFrame的调用返回nil。有什么想法吗?
- (void)drawRect:(CGRect)rect{
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetTextMatrix(context, CGAffineTransformIdentity);
CGContextTranslateCTM(context, 0, self.bounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddEllipseInRect(path, NULL, rect);
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attrString);
CTFrameRef theFrame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, [attrString length]), path, NULL);
CTFrameDraw(theFrame, context);
CGPathRelease(path);
CFRelease(theFrame);
CFRelease(framesetter);
}
答案 0 :(得分:2)
看起来这是一个iOS问题 - 在iOS上,你只能使用矩形作为路径。你正在添加一个椭圆。