2016-11-23 3 views
0

Я сделал UILabel с цветом фона программно, который в настоящее время выглядит следующим образом:Сделать текст более удобным для середины UILabel?

label

мне не нравится, как текст так близко к левому и правому краям его цвет фона, есть ли способ сделать это начать ближе к середине, так что бы выглядеть следующим образом:

optimal label

Это, как я делаю этикетки:

 let label = UILabel() 
     label.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant:0).isActive = true 
     label.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant:0).isActive = true 
     label.widthAnchor.constraint(equalToConstant: self.view.frame.width - 30.0).isActive = true 
     label.heightAnchor.constraint(equalToConstant: 100.0).isActive = true 
     label.numberOfLines = 0 
     label.layer.cornerRadius = 10.0 
     label.clipsToBounds = true 
     label.textAlignment = .center 
     label.backgroundColor = UIColor.darkGray 
     label.textColor = UIColor.white 
+0

Много ответов на этот здесь: http://stackoverflow.com/questions/3476646/uilabel-text- маржи, а также здесь: http://stackoverflow.com/questions/27459746/adding-space-padding-to-a-uilabel-swift –

ответ

1

Вы можете попробовать добавить контейнерный вид, установить его цвет фона по своему усмотрению, а затем добавить надпись поверх него без цвета фона.

1

Вы, возможно, придется поиграть немного на widthAnchors, но попробуйте это:

let outerView = UIView() 
outerView.backgroundColor = UIColor.darkGray 
outerView.translatesAutoresizingMaskIntoConstraints = false 
outerView.layer.cornerRadius = 10.0 
outerView.clipsToBounds = true 
let innerView = UILabel() 
innerView.numberOfLines = 0 
innerView.textAlignment = .center 
innerView.textColor = UIColor.white 
innerView.text = "Use 10% less energy this month than the last one" 
innerView.translatesAutoresizingMaskIntoConstraints = false 
outerView.addSubview(innerView) 
view.addSubview(outerView) 
outerView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true 
outerView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true 
outerView.widthAnchor.constraint(equalToConstant: self.view.frame.width - 40.0).isActive = true 
outerView.heightAnchor.constraint(equalToConstant: 100.0).isActive = true 
innerView.centerXAnchor.constraint(equalTo: outerView.centerXAnchor).isActive = true 
innerView.centerYAnchor.constraint(equalTo: outerView.centerYAnchor).isActive = true 
innerView.widthAnchor.constraint(equalTo: outerView.widthAnchor, constant: -100.0).isActive = true 
Смежные вопросы