我怎样才能在我的自定义表格视图单元格上实现这个 UI

Posted

技术标签:

【中文标题】我怎样才能在我的自定义表格视图单元格上实现这个 UI【英文标题】:how can i achive this UI on my custom table view cell 【发布时间】:2021-02-11 12:21:24 【问题描述】:

我想在我的 tableviewcell 上实现这个自定义形状,我该怎么做?

UITableViewCell

【问题讨论】:

请提供一些代码向我们展示您已经尝试过的内容。 我刚刚尝试了一个简单的圆形矩形 uibezierpath 【参考方案1】:

UIBezierPath 与圆弧一起使用。

将此类添加到您的视图中。

class CellShapeView: UIView 
    
    var fillColor: UIColor = .yellow
    
    private var path: UIBezierPath = UIBezierPath()
    
    override func awakeFromNib() 
        super.awakeFromNib()
        self.backgroundColor = UIColor.clear
    
    
    override func draw(_ rect: CGRect) 
        super.draw(rect)
        
        //For Round corners
        UIBezierPath(roundedRect: rect, byRoundingCorners: .allCorners, cornerRadii: CGSize(width: 10, height: 10)).addClip()
        
        path.move(to: CGPoint(x: 0, y: self.frame.size.height))
        path.addLine(to: CGPoint(x: 0, y: 0))
        path.addLine(to: CGPoint(x: self.frame.size.width, y: 0))
        path.addLine(to: CGPoint(x: self.frame.size.width, y: self.frame.size.height))
        
        path.move(to: CGPoint(x: self.frame.size.width, y: self.frame.size.height))
        
        //Right Side circle arc
        path.addArc(withCenter: CGPoint(x: self.frame.size.width, y: self.frame.size.height/2),
                    radius: 10,
                    startAngle: CGFloat((270 * Double.pi) / 180),
                    endAngle: CGFloat((90 * Double.pi) / 180),
                    clockwise: false)
        
        
        path.close()
        fillColor.setFill()
        path.fill()
        
    

【讨论】:

以上是关于我怎样才能在我的自定义表格视图单元格上实现这个 UI的主要内容,如果未能解决你的问题,请参考以下文章

Obj-C - 点击自定义表格视图单元格中的删除表格视图行按钮

表格视图中的自定义单元格未显示?

显示零的自定义表格单元格

如何访问表格视图中的单元格?

在表格视图的自定义单元格上隐式展开可选值

如何在swift ios中将多个图像添加到自定义表格视图单元格?