2012-11-04 12 views
0

我有一個自定義的UIView。在這個視圖中,我重寫drawRect繪製一些路徑和一些文本。 當檢測到自來水,該視圖捏縮放一個自定義的UIView:行和文本都是像素化的,需要重新柵格化

- (void)tapDetected:(UITapGestureRecognizer *)sender { 
    float zoom = 3.; 
    sender.view.transform = CGAffineTransformScale(sender.view.transform, zoom, zoom); 
    ... 
} 

變焦縮放工程確定,但線條和文字變得像素化,因爲我在我想要的線條寬度縮放和文字大小保持不變,即被重新柵格化,所以我在上述方法的最後插入了一個setNeedsDisplay,但這沒有效果,不起作用。

任何幫助?

謝謝。

回答

0

嘗試更改相關圖層的contentScale。這對我的路徑有效。

+0

哪一層?我不認爲我有層。 – boscarol

+0

每個視圖都有一個圖層...沒有它,你不能顯示任何東西。 'view.layer' – borrrden

0

我的地圖查看器有類似的問題,所以我製作了一個獨立的演示項目。放大後,我得到了非常沉重的抗鋸齒基本上,rerasterize放大的時候,你必須與rasterizationScale像這樣玩:

sublayer.rasterizationScale = scale; 
    sublayer.contentsScale = scale; 

示例項目和自述在這裏:https://bitbucket.org/robvanderveer/scrollviewdemo