如何快速在 UIView 上应用带有边框的尖角半径?

Posted

技术标签:

【中文标题】如何快速在 UIView 上应用带有边框的尖角半径?【英文标题】:How to apply sharp corner radius with border on UIView in swift? 【发布时间】:2018-05-25 14:53:12 【问题描述】:

我想在 UIView 的边框上设置左下角和右下角的圆角半径。这是代码。 **问题是它不在 1.5 边框中显示 SHARP **

class BorderView: UIView 

  override func draw(_ rect: CGRect) 

    let color = UIColor.red
    let color2 = UIColor.brown

    //// Rectangle Drawing
    let rectanglePath = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 200, height: 200), byRoundingCorners: [.bottomRight, .bottomLeft], cornerRadii: CGSize(width: 10, height: 10))
    rectanglePath.close()
    color2.setFill()
    rectanglePath.fill()
    color.set()
    rectanglePath.lineWidth = 1.5
    rectanglePath.stroke()

 

输出

预期输出

【问题讨论】:

“尖锐”是指“平滑”还是“尖锐”? 您是否尝试过使用不是分数的线宽?所以要么1要么2 嘿@rmaddy 我想要“顺利” 【参考方案1】:

如果您使用CALayer 上的边框和角属性,它应该会为您完成所有工作。

// Probably inside init
layer.borderWidth = 1.5
layer.borderColor = UIColor.red.cgColor

layer.cornerRadius = 10
layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner]

【讨论】:

感谢@clever 它的显示“Sharp”和“Smooth” :) 您能帮个忙吗?我想设置边框只有 3 边 Left , Right 和 Bottom 具有锐角半径。 没有选项可以仅在某些边上添加边框。我将视图放置在其父视图内,使顶部高于父视图的顶部,以便边框将被父视图边界剪裁。

以上是关于如何快速在 UIView 上应用带有边框的尖角半径?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 select2 框上应用边框半径?

CSS - 带有边框半径的动画比例

如何在表格行上添加边框半径

带有部分边框的 UIView 边框

边界半径无法应用于我的HTML表格

封装tip控件