2016-11-16 4 views
2

У меня есть UIView в верхней части экрана, и я хочу добавить к нему правую границу в 1 пиксель.Как добавить правую границу в UIView на Swift 3?

Вот код, который у меня есть на данный момент:

var border = CALayer() 
border.backgroundColor = UIColor(red: 241, green: 10, blue: 9, alpha: 1).cgColor 
border.frame = CGRect(x: topView.frame.width + 1, y: 0, width: 1, height: topView.frame.height) 
topView.layer.addSublayer(border) 

, но я не могу заставить его работать.

Что можно сделать, чтобы добавить правую границу к моему UIView?

Заранее благодарен!

ответ

5

Этот код работает для меня, вы устанавливаете положение кадра вне границ зрения, изменить его к - 1 (вместо width + 1), а затем он должен отображаться как ожидалось. (Я изменил цвета, чтобы было легче видеть на детской площадке)

let view = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) 
view.backgroundColor = UIColor.white 

let borderLayer = CALayer() 
borderLayer.backgroundColor = UIColor.red.cgColor 
borderLayer.frame = CGRect(x: view.frame.width - 1, y: 0, width: 1, height: view.frame.height) 
view.layer.addSublayer(borderLayer) 
+0

Хорошо, в моем реальном примере я использовал 255, 255, 255 в качестве фона для моей границы (белый). Сейчас я чувствую себя совершенно глупо. Благодаря! –

0

ClipToBounds = ложь на TopView или держать линию в кадре