- Registriert
- 02.02.16
- Beiträge
- 85
Hallo,
ich habe in meinem Code zwei UIViews und möchte nun für beide jeweils auf einer Seite den Rand einfärben. Bei der einen UIView funktioniert das auch, bei der anderen jedoch nicht. Weiß zufällig jemand warum ? Hier der Code:
PS: rightBorder funktioniert nicht
ich habe in meinem Code zwei UIViews und möchte nun für beide jeweils auf einer Seite den Rand einfärben. Bei der einen UIView funktioniert das auch, bei der anderen jedoch nicht. Weiß zufällig jemand warum ? Hier der Code:
PS: rightBorder funktioniert nicht
Code:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var leftBorder: UIView!
@IBOutlet weak var rightBorder: UIView!
override func viewDidLoad() {
super.viewDidLoad()
leftBorder.addBorder(toSide: .Right, withColor: UIColor.white.cgColor, andThickness: 1.0)
rightBorder.addBorder(toSide: .Left, withColor: UIColor.white.cgColor, andThickness: 1.0)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension UIView {
// Example use: myView.addBorder(toSide: .Left, withColor: UIColor.redColor().CGColor, andThickness: 1.0)
enum ViewSide {
case Left, Right, Top, Bottom
}
func addBorder(toSide side: ViewSide, withColor color: CGColor, andThickness thickness: CGFloat) {
let border = CALayer()
border.backgroundColor = color
switch side {
case .Left: border.frame = CGRect(x: frame.minX, y: frame.minY, width: thickness, height: frame.height + 200.0); break
case .Right: border.frame = CGRect(x: frame.maxX, y: frame.minY, width: thickness, height: frame.height + 200.0); break
case .Top: border.frame = CGRect(x: frame.minX, y: frame.minY, width: frame.width, height: thickness); break
case .Bottom: border.frame = CGRect(x: frame.minX, y: frame.maxY, width: frame.width, height: thickness); break
}
layer.addSublayer(border)
}
}