为什么我的UIImageView边框左侧会出现一条窄的白线?

时间:2011-10-23 11:32:22

标签: iphone objective-c uiimageview border

我的UIViewImage左侧出现了不需要的白色1像素线。我正在使用QuartzCore来应用border:

...
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

[imageView.layer setBorderColor: [[UIColor BORDERCOLOR4ALLVIEWS] CGColor]];
[imageView.layer setBorderWidth: BORDERSIZE4ALL];
...

图像视图位于ScrollView中。我在屏幕底部有一个缩略图列表。当用户点击缩略图时,我正在加载图像并将其传递给MyUIImageView.image。以下是随时执行的代码:

MyUIImageView.image = [UIImage imageNamed:imageName];
CGRect rect = MyUIImageView.frame;
rect.size.width = MyUIImageView.image.size.width; //also tried with - 1;
rect.size.height = MyUIImageView.image.size.height //also tried with - 1;

MyUIImageView.frame = rect; 

// also tried redraw a border on the image view:

[MyUIImageView.layer setBorderColor: [[UIColor BORDERCOLOR4ALLVIEWS] CGColor]];
[MyUIImageView.layer setBorderWidth: BORDERSIZE4ALL];

注意到该线条仅出现在一张图片上。但是,如果我通过减去-1来使图像视图帧大小更小,那么其他图像上也会出现白线。以下是带有白线的图像示例:

enter image description here

2 个答案:

答案 0 :(得分:7)

将My UIImageView.clipsToBounds设置为YES后,白线消失了:)

答案 1 :(得分:0)

我猜白线是scrollView的背景颜色。尝试将scrollviews背景颜色设置为黑色。

如果这无助于尝试将imageview的背景颜色设置为clearColor。