与其他 UIView 边框线重叠时的 UIView 边框线粗细

Posted

技术标签:

【中文标题】与其他 UIView 边框线重叠时的 UIView 边框线粗细【英文标题】:UIView border line thickens when overlapped with other UIView's Border Line 【发布时间】:2015-04-06 14:16:37 【问题描述】:

两个 UIView 都有边框宽度 1 和一些边框颜色。 当上视图的下边框与底视图的上边框重叠时,您可以看到结果。我可以让中间线和侧边一样吗?

P.S 视图的布局没有约束或自动布局。

当向下调整底部视图的 y 值时,视图如下:

但我想要与侧边框宽度相同的线...

【问题讨论】:

请注意:一定要使用自动布局! 您必须在任何单个视图中将两个视图都设为子视图,并为新创建的视图提供边框,并在这两个视图之间放置一条与边框颜色相同的单线 @bhoomi: :-) 谢谢,谢谢你,socha e nahi tha.. 【参考方案1】:

你和@user3117251 已经很接近了。其实你需要做的如下:

调整第二个视图的y坐标,使其等于 (第一个视图的 y 坐标 + 第一个视图的高度 - 边框宽度)。

不客气:)

【讨论】:

【参考方案2】:

您确定视图是重叠的吗?看起来你实际上有相反的问题。如果您使用自动布局,请尝试将下视图的顶部约束到上视图的底部,并使用常数值 -1。如果您使用框架进行布局,只需将底部视图的 y 值调低 1。只要边界是完全不透明的,一个应该完全覆盖另一个,它看起来会厚一点。

【讨论】:

我已经通过将 y 值下调一来更新问题,朋友。检查一下。 调整另一个方向的 y 坐标。在某种程度上,第二个视图的 y 坐标等于(第一个的 y 坐标 + 第一个的高度 - 边框宽度)。 谢谢@luk2302,你太棒了!回答你的功劳,这样我就可以将你的答案标记为正确的答案。

以上是关于与其他 UIView 边框线重叠时的 UIView 边框线粗细的主要内容,如果未能解决你的问题,请参考以下文章

iOS 让视图UIView 单独显示某一侧的边框线

为啥转换后的 UIView 会与层次结构中较高的其他视图重叠?

如何删除自定义uiview中的边框线?

重叠 UIView 动画取消第一个完成块

如何从 UIView 的某些部分删除边框?

Swift - 添加一个不与当前 Storyboard 的视图重叠的 UIView