UIImageView的外边框

时间:2016-01-13 13:32:01

标签: objective-c uiimageview border

我知道我可以使用下面的代码创建边框。

[[myImageView layer] setBorderWidth:2.0f];
[[myImageView layer] setBorderColor:[UIColor greenColor].CGColor];

然而,这是在图像内部绘制边框。

我看到的是在ImageView外面绘制边框。

注意:

我在网上搜索此内容并在下面找到。

  1. 可以使用另一张有边框的图片来完成。

  2. 可以通过绘制另一个比当前图像稍大的视图来完成。

  3. 有快速方法(特别是在iOS中内置),我可以在UIImageView外面绘制边框吗?有意见吗?

2 个答案:

答案 0 :(得分:1)

为什么不尝试使用imageview框架边框?

  CGFloat borderWidth = 5.0f;    
    self.imgview.frame = CGRectInset(self.imgview. frame, -borderWidth, -borderWidth);
    self.imgview. layer.borderColor = [UIColor blueColor].CGColor;
    self.imgview. layer.borderWidth = borderWidth;

答案 1 :(得分:0)

iOS中没有内置的快捷方式,您可以在图像层上设置边距。

如果我是你,我会开发一个继承自UIView(来自UIImageWithBorderView)的新类,它包含一个UIImageView并制作" UIImageWithBorderView"大于UIImageView(并考虑不用UIView父级自动调整UIImageView,否则你的UIImageView将被拉伸,并阻止UIImageWithBorderView小于UIImageView框架),然后为" UIImageWithBorderView&#添加边框34 ;. 这样,您的UIImageView将完好无损,并且您将拥有满足您需求的特定可重复使用的合成器。

希望它有所帮助!