Ios UIView边框覆盖子视图?

Ios UIView边框覆盖子视图?,ios,uiview,uibutton,Ios,Uiview,Uibutton,我有一个UIView,其中包括一个部分位于UIView上的UIButton。我在视图上绘制边界时遇到问题。请看我的截图: 你可以看到边框在UIButton的上方,为什么?有人能建议吗?谢谢这可能与绘制对象的顺序有关。在故事板的“文档大纲”中,视图控制器大纲中较低的视图稍后绘制。也许按钮不是您想要的最后绘制视图?谢谢,我找到了解决方案 基本上,边界总是画在所有东西的顶部 我所做的是: 创建边框颜色为的UIView 创建另一个UIView作为主UIView的子UIView,它比第一个UIView

我有一个UIView,其中包括一个部分位于UIView上的UIButton。我在视图上绘制边界时遇到问题。请看我的截图:


你可以看到边框在UIButton的上方,为什么?有人能建议吗?谢谢

这可能与绘制对象的顺序有关。在故事板的“文档大纲”中,视图控制器大纲中较低的视图稍后绘制。也许按钮不是您想要的最后绘制视图?

谢谢,我找到了解决方案

  • 基本上,边界总是画在所有东西的顶部
  • 我所做的是:

    • 创建边框颜色为的UIView
    • 创建另一个UIView作为主UIView的子UIView,它比第一个UIView小一点。新创建的UIView的颜色是主颜色
  • 代码如下:

    self.layer.cornerRadius = 15;
    self.layer.masksToBounds = YES;
    self.backView.layer.cornerRadius = 15;
    self.backView.layer.masksToBounds = YES;
    
    结果是:


    这或多或少是我所需要的,尽管它并不完美。

    您使用什么代码来绘制边框和添加按钮?您可以采用类似ContainerView的视图结构contentView&button的父视图。容器视图将是透明的(clearcolor),内容视图将有边框和角。按钮将位于内容视图的顶部。你会得到你想要的屏幕。希望这有帮助。我的代码很简单。就在我的视图中:self.layer.cornerRadius=15;self.layer.masksToBounds=是;self.layer.borderColor=[[UIColor whiteColor]CGColor];self.layer.borderWidth=2.0f;