2011-10-12 100 views
7

我的問題與this one基本相同。我有一個UIView,當我旋轉CGAffineTransformMakeRotation時,邊緣沒有被反鋸齒。如何對旋轉的UIView進行抗鋸齒(不是UIImageView)

我試圖將視圖作爲一個更大的UIView中的子視圖,並在視圖上使用透明邊框,但沒有一個工作。

上述帖子的OP通過在photoshop中使用透明邊框製作圖像並使用UIImageView來解決此問題,但我無法做到這一點,因爲UIView的大小是在運行時確定的。

有沒有人知道這個問題的任何解決方案?

請注意,這不是this後的副本,因爲我有興趣使用UIView而不是UIImageView。

回答

19

嘗試在App-info.plist中設置UIViewEdgeAntialiasing = YES

+0

確實有效!對不起,我花了很多時間看到你的答案... – Kremk

+0

你知道這是否會提高你的應用程序的CPU使用率? –

0

我通過在photoshop中創建一個3x3像素圖像解決了這個問題。圖像的中心像素具有我想要的背景的顏色,其餘像素都是透明的。然後我可以使用UIImageView的一個實例,並使用-stretchableImageWithLeftCapWidth:topCapHeight:方法在運行時定義幀大小。

這個解決方案當然對UIViews不起作用,但這樣你可以繞過「可變大小」問題並使用UIImageView代替。