2015-05-29 3 views

ответ

38

Попробуйте это для полной границы:

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 
+0

спасибо ... это сработало! Еще один вопрос: можем ли мы иметь автоматическую высоту Uitableview. Так что это увеличение или уменьшение высоты на данные поступает? (Извините, что это не связано с тем же вопросом) –

+0

большое вам спасибо! это сработало, и я сэкономил много времени на исследования ;-) – AlexWoe89

+0

@ AlexWoe89 Добро пожаловать в любое время :) –

12
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) 
    } 
} 

я собираюсь с открытым исходным кодом моих классов расширений в некоторых точка.

Edit: Здесь вы идете, я обновляю функцию здесь https://github.com/goktugyil/EZSwiftExtensions

+0

Надеюсь, вы отбросите все эти скопированные и вставленные операторы в служебный метод. – NRitH

+0

Я не понял – Esqarrouth

+1

Все четыре метода идентичны, за исключением размера рамки. Выясните, как написать метод утилиты, который принимает аргумент 'CGRect' для фрейма границы, а затем использовать его для создания пограничного слоя и добавления его в качестве подуровня. – NRitH

2

** если вы хотите, чтобы дать границу Tableview с использованием цвета ниже коды для быстрых 3: - **

yourTableView.layer.borderColor = UIColor.gray.cgColor 
yourTableView.layer.borderWidth = 1.0 
Смежные вопросы