2012-02-21 43 views
1

我在StackOverflow上找到了关于如何在UIImageView上做弯曲拐角的例子,并且当我在Xcode GUI构建器工具中设置图像时,此工作正常。当我在运行时添加了一些代码来更改图像时,弯曲的角部分只能部分工作。即使在运行时设置UIImage,如何在UIImageView上做弯曲的角点?

这里是我使用的尝试,并取得弯角代码:

thumbnail.image = [UIImage imageNamed:self.video.thumbnailFileName]; 
thumbnail.contentMode = UIViewContentModeScaleAspectFill; 
thumbnail.clipsToBounds = YES; 

// round the corners: 
thumbnail.layer.cornerRadius = 10.0; 
thumbnail.layer.masksToBounds = YES; 

// add a border: 
thumbnail.layer.borderColor = [UIColor lightGrayColor].CGColor; 
thumbnail.layer.borderWidth = 3.0; 

BEFORE:当通过GUI Builder将在Xcode设置图像: BEFORE: When setting the image via the gui builder in Xcode.

AFTER:设置UIImage的编程。注意弧形的角部看起来可怕: AFTER: Setting the UIImage programmatically. Notice the curved corners look terrible.

原始的PNG图像在应用程序中使用: The original PNG image being used in the app.

回答

1

这里的问题是一系列奇怪的巧合...

第一个问题是我有这个图片的两个版本在一个点上,并以某种方式的第一个版本我仍然被转移到我的应用程序捆绑(或者是从我以前的调试版本开始的应用程序包中)。那第一个是不同的,因为没有正确排列弯曲的角落。所以一旦我清理了我的版本,那个原始文件就消失了。

第二个问题是第二个文件有一个稍微不同的文件名,我没有注意到,所以这是我无法正常工作的第二个原因。

所以...代码是正确的,只是有我的图像文件的问题!对困惑感到抱歉。

0

它看起来像图层顺序出现了偏差。现在,在角落圆角处的图像看起来是在边界之上而不是在下面。

我在图层上很弱,但猜测是:颠倒你的操作顺序。

0

对于任何想圆一个UIImageView的角落,注意,你需要导入

#import <QuartzCore/QuartzCore.h> 

第一....使用图层属性。