我使用“核心文字”功能CTLineDraw
。但看起来它对CGContextRef
有一些副作用:填充矩形在CTLineDraw
之后对于相同的上下文不再起作用(但在之前或如果我注释掉CTLineDraw
调用之前有效)。 / p>
根据CTLineDraw
和“核心文本”文档中的其他一些功能:
此调用可以使图形上下文处于任何状态,但不会 在绘制操作后刷新上下文。
我认为这可能是相关的。但这句话究竟意味着什么呢?我应该保存什么&恢复上下文状态(这有帮助吗?)
答案 0 :(得分:3)
是的,您应该在第一次调用CTLineDraw
之前save the state和restore it之后调用{{3}}。文档中的那一行意味着Core Text在内部设置状态的各个位来执行您要求它执行的文本绘制,并且之后不会自动将它们设置回来。