2012-05-01 43 views
1

對於我的Cocoa應用程序,爲了在CALayer的drawInContext實現中採用不同的呈現路徑,我需要知道給定的CGContextRef是否爲PDF上下文(而不是位圖或屏幕上下文) 。隨着iOS的SDK,我可以做到這一點:識別CGContextRef是否爲PDF上下文

BOOL isPDF = !CGRectIsEmpty(UIGraphicsGetPDFContextBounds()); 

但UIGraphics *功能無法在OS X SDK中提供。我希望能夠使用:

BOOL isPDf = CFGetTypeID(currentContext) != CGContextGetTypeID(); 

但它似乎並沒有真正持有,並沒有返回具體到PDF ID類型CGPDFContextGetTypeID()函數。

有沒有什麼辦法來確定給定的CGContextRef的類型,而不做任何討厭的事情,如設置靜態變量?

回答

0

沒有用於獲取CGContextRef類型的公共API,因此您必須將此信息保留在上下文ref之外。

有一個未記錄CGContextGetType()函數,返回的上下文的類型,請參閱CGContextType枚舉所有可能值的列表。但你真的不應該使用這個。

+0

謝謝,這就是我所害怕的。 –