在UIView上设置多个边框

由于我找不到任何问题/答案,我想这是不可能的。

无论如何在UIView上设置多个边框。

我目前正在设置.layer.borderWidthlayer.borderColor的标准边框。 我想知道我是否可以为视图添加多笔画/边框效果。

我需要一个白色的4.0f边框,然后另一个颜色的另一个1.0f。

我能想到的三种解决方案:

  • 将UIView嵌套在另一个中,为每个定义一个边框;
  • 自己绘制边框-(void)drawRect ;
  • 使用具有可resize的UIImageView ; 作为背景的边界的可拉伸图像(性能最佳的解决方案)。

对于没有添加图层的单个UIView实例,这是不可能的。

您可以做的是创建一个大于必要的视图,适当地设置其边框,然后添加一个CALayer并将其放置在您想要内边框的位置并适当地设置其边框属性。

使用CALayers通常比完全成熟的UIView更快,但你也可以只使用嵌套的UIView来实现相同的效果。

这是不可能的,你必须通过添加带有背景颜色的UIView来伪造边框到你的xib / view。

尝试这个,

我正在添加带有alpha 1的阴影,它将充当内边框。 正常边界作为外边界。

 yourView.frame = CGRectInset(yourView.frame, -borderWidth, -borderWidth); yourView.layer.borderColor = [UIColor blackColor].CGColor; yourView.layer.borderWidth = borderWidth; yourView.layer.shadowColor = [UIColor whiteColor].CGColor; yourView.layer.shadowOffset = CGSizeMake(0, 1); yourView.layer.shadowOpacity = 1; yourView.layer.shadowRadius = 1.0; yourView.clipsToBounds = YES;