如何在iOS中为图像添加3边框边框

时间:2012-07-17 17:10:13

标签: iphone ios ios5 uiimageview border

我想为图片添加边框。我不想在4面完全添加它。我想仅在特定的三个边上添加边框,即顶部,左边和左边。底部。怎么做?

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

这将在图像的4个边上设置边框。但我只希望它在三个方面。怎么做?

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

确保UIImageView的clipsToBounds设置为YES。创建一个边界宽度比图像宽的UIView。将该图层上的边框设置为具有所需的颜色。将此视图的帧设置为0,0,imageWidth + border,image.height并设置masksToBounds = YES。将此作为子视图添加到UIImageView。它应该在除了右手边之外的所有边缘。

答案 2 :(得分:0)

您可以绘制一个填充的CALayer,它比实际图像层高2px,宽1px。将帧设置为图像上方和左侧1px。

答案 3 :(得分:0)

用阴影操纵视图,这很容易做到

_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;