2012-07-17 69 views
0

我想为图像添加边框。我不想在四面添加它。我只想在特定的3个边上添加边框,即顶部,左边&底部。怎么做?如何在iOS中为图像添加3边框

[imageView.layer setBorderColor:[[UIColor clearColor] CGColor]];

这将设置在图像的4个边的边框。但我只想在三面。怎么做?

+0

试试这个: - https://stackoverflow.com/questions/7666863/uiview-bottom-border/48109396#48109396 – Datt1994 2018-02-01 13:45:36

回答

2

您需要在想要边框的边上添加彩色子视图。请参阅this answer - 对于顶部的边框,请遵循相同的模式,但使用UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMarginautoresizingMask

1

确保UIImageView的clipsToBounds设置为YES。创建一个比图像宽一个边界宽度的UIView。在该图层上设置边框以获得所需的颜色。将此视图的框架设置为0,0,imageWidth + border,image.height并设置masksToBounds = YES。将此作为子视图添加到您的UIImageView中。它应该在右侧放置一个边框。

+0

我不不想使用子视图,因为我正在使用该图像视图作为缩略图,当选择了特定的缩略图时,我应该突出显示具有单个边框的两幅图像的组合。其实我想用两个地方两个图像并排一个边框.. – Bharath 2012-07-17 17:29:15

+1

那么你可以创建一个UIView,将两个图像作为子视图添加到并排放置它们的帧中,使这个视图有点大(和插入图像),然后在此容器视图中设置图层边框。 2x边框+图片尺寸将是容器视图的适当尺寸。 – 2012-07-17 17:49:42

0

您可以在实际图像图层后面绘制一个填充的CALayer,其高出2px并且宽1px。将框架设置为图像左上方1px。

0

操纵阴影的观点,这是做易peasy

_topInfoView.layer.masksToBounds = NO; 
_topInfoView.layer.shadowOffset = CGSizeMake(0, 1); 
_topInfoView.layer.shadowColor = [[UIColor grayColor]CGColor]; 
_topInfoView.layer.shadowRadius = 0.27f; 
_topInfoView.layer.shadowOpacity = 0.6;