web-dev-qa-db-ja.com

UITableviewの右、上、下の境界線をカスタマイズするにはどうすればよいですか?

UITableviewの色で右、左、上、下の境界線を迅速に設定するにはどうすればよいですか?

ありがとう、

14
dhaval shah

完全な境界線のためにこれを試してください:

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

これは下枠用です。

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
42
Ashish Kakkad
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)
    }
}

いつか拡張クラスをオープンソースにするつもりです。

編集:ここに行く、私はここで機能を更新します https://github.com/goktugyil/EZSwiftExtensions

13
Esqarrouth

Swift 3のコードの下で色を使用してtableviewに境界線を付けたい場合:

yourTableView.layer.borderColor = UIColor.gray.cgColor
yourTableView.layer.borderWidth = 1.0
3
Kiran jadhav