How do I customize a UITableview right, top and bottom border?

前端 未结 3 1062
逝去的感伤
逝去的感伤 2020-12-25 15:29

How can I set right, left, top and bottom border with color on UITableview in swift?

Thanks,

相关标签:
3条回答
  • 2020-12-25 15:40

    if you want to give the border to tableview with color use below code for swift 3 :

    yourTableView.layer.borderColor = UIColor.gray.cgColor
    yourTableView.layer.borderWidth = 1.0
    
    0 讨论(0)
  • 2020-12-25 15:43
    extension UIView {
        func addBorderTop(size size: CGFloat, color: UIColor) {
            addBorderUtility(x: 0, y: 0, width: frame.width, height: size, color: color)
        }
        func addBorderBottom(size size: CGFloat, color: UIColor) {
            addBorderUtility(x: 0, y: frame.height - size, width: frame.width, height: size, color: color)
        }
        func addBorderLeft(size size: CGFloat, color: UIColor) {
            addBorderUtility(x: 0, y: 0, width: size, height: frame.height, color: color)
        }
        func addBorderRight(size size: CGFloat, color: UIColor) {
            addBorderUtility(x: frame.width - size, y: 0, width: size, height: frame.height, color: color)
        }
        private func addBorderUtility(x x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat, color: UIColor) {
            let border = CALayer()
            border.backgroundColor = color.CGColor
            border.frame = CGRect(x: x, y: y, width: width, height: height)
            layer.addSublayer(border)
        }
    }
    

    I am going to open source my extension classes at some point.

    Edit: Here you go, I update the functions in here https://github.com/goktugyil/EZSwiftExtensions

    0 讨论(0)
  • 2020-12-25 15:59

    Try this for full border:

    yourtable.layer.masksToBounds = true
    yourtable.layer.borderColor = UIColor( red: 153/255, green: 153/255, blue:0/255, alpha: 1.0 ).CGColor
    yourtable.layer.borderWidth = 2.0
    

    This is for bottom border:

    let border = CALayer()
    let width = CGFloat(2.0)
    border.borderColor = UIColor.darkGrayColor().CGColor
    border.frame = CGRect(x: 0, y: yourtable.frame.size.height - width, width:  yourtable.frame.size.width, height: yourtable.frame.size.height)
    
    border.borderWidth = width
    yourtable.layer.addSublayer(border)
    yourtable.layer.masksToBounds = true
    
    0 讨论(0)
提交回复
热议问题