2010-03-31 40 views
1

我使用界面生成器將一些UIImageViews和png圖像添加到了我的視圖中。最初他們被添加到屏幕外。使用界面生成器在UIView上模糊的PNG

後來,我它們的動畫到與CoreAnimation屏幕上,就像這樣:

[UIView beginAnimations:@"slide" context:nil]; 
[UIView setAnimationDuration:0.1f]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationDelegate:self]; 
image.frame = CGRectMake(81+1, 390, 150, 80); 
[UIView commitAnimations]; 

一旦他們出現在屏幕上,它們看起來非常模糊或模糊。

我以前聽說過這種情況。有沒有人有任何想法如何解決它?

+0

這可能很愚蠢,但您的圖像是150 x 80px,對不對? – 2011-11-18 08:00:34

回答

3

通常這意味着您正在以分數像素值(例如100.5)定位視圖。確保您繞過位置的座標。

+0

因爲您使用的是界面構建器,所以在這裏可能不是問題,但是有一次我設法弄到模糊的圖像(並且困惑了我自己很長一段時間),這就是問題所在。 – camdez 2010-03-31 21:33:16

+0

初始位置是在整個像素值,所以我猜你指的是我發送imageViews的位置?我會嘗試的,謝謝! – 2010-04-01 15:28:00

+0

是的,抱歉不清楚。這是否適合你? – camdez 2010-04-26 06:44:02

0

如果圖像像Camdez所說的那樣,不是在圓形的像素位置,UIImageView和其他視圖可能會在界面生成器(和您的iPhone應用程序)中看起來模糊。解決這個問題可能會非常棘手,因爲Interface Builder只會將檢查器中的數字顯示爲整數。但是,假設您已在「視圖」檢查器中配置了「Origin」小部件,以允許您指定視圖中心的X和Y,而不是左上角。如果你的模糊視圖以100,100爲中心,像素高爲35像素,那麼Interface Builder將在內部計算視圖的左上角爲(100-35/2)= 82.5,並將它作爲十進制寫入XIB文件。

快速修復: 將「起源」小部件更改回「左上角」設置。移動畫布內的視圖,以便更改像素值,然後再輸入正確的值。問題解決了!

2

快速修復:在左側對象窗格中重新排序對象,即向後發送,然後再向前發送。不知道爲什麼會發生這種情況,但它爲我解決了這個問題。