我一直坚持如何用iOS7的新功能替换下面的代码。
折旧函数为CGContextSelectFont
和CGContextShowTextAtPoint
。
CGContextTranslateCTM(pdfContext, 0, mainView.frame.size.height);
CGContextScaleCTM(pdfContext, 1, -1);
CGRect newFrame = frame;
newFrame.origin.y = (mainView.frame.size.height - frame.origin.y);
frame = newFrame;
UIFont *font = [str attribute:NSFontAttributeName atIndex:0 effectiveRange:NULL];
const char *fontName = [font.fontName UTF8String];
CGContextSelectFont(pdfContext, fontName, font.pointSize, kCGEncodingMacRoman); // DEPRECIATED
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetFillColorWithColor(pdfContext, label.textColor.CGColor);
CGContextSetStrokeColorWithColor(pdfContext, label.textColor.CGColor);
CGAffineTransform transform = CGAffineTransformMakeRotation(-(M_PI_4 * 0.7));
CGContextSetTextMatrix(pdfContext, transform);
CGContextShowTextAtPoint(context, frame.origin.x, frame.origin.y, [label.text UTF8String], [label.text length]); // DEPRECIATED
编辑://
我知道我需要使用[NSString drawAtPoint:aPoint withAttributes:dictOfAttributes];
CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
[[UIColor blackColor] setFill];
[label.text drawAtPoint:CGPointMake(frame.origin.x, frame.origin.y)
withAttributes:@{NSFontAttributeName:font
}];
然而,使用上面的解决方案将文本倒置而没有角度。有什么想法吗?
答案 0 :(得分:0)
对于CGContextSelectFont
,您应该结帐this answer,对于CGContextShowTextAtPoint
,您需要查看this。
理想情况下,您应该查看弃用说明的文档。