编辑-如何使UIlabel进入容器的中间?

时间:2019-06-28 11:41:59

标签: swift xcode layout transition auto

我怎样才能使UIlabel进入容器中间?该文本和视图将平均消失并进入下一个视图。

编辑:此代码现在对我来说很好

class TestViewController: UIViewController {

let container = UIView()
let redSquare = UIView()
let blueSquare = UIView()
let label = UILabel()


override func viewDidLoad() {
    super.viewDidLoad()


    self.label.textColor = UIColor.orange

    self.label.font = label.font.withSize(25)
    self.label.numberOfLines = 0

    self.label.center = self.blueSquare.center

    self.label.textAlignment = NSTextAlignment.center

    self.label.text =

    "sosdihfiosdfhsdhfdisfhsdfhdsoifhsdofhsdifhdsofhdsofhsdohdsfdosdohdfh"


    self.blueSquare.addSubview(label)

    self.label.frame = CGRect(x: 45, y: 120, width: 300, height: 100)

    self.container.frame = CGRect(x: 7, y: 200, width: 400, height: 500)
    self.view.addSubview(container)
    self.redSquare.frame = CGRect(x: 0, y: 0, width: 400, height: 500)
    self.blueSquare.frame = redSquare.frame

    self.redSquare.backgroundColor = UIColor.darkGray
    self.blueSquare.backgroundColor = UIColor.darkGray
    self.container.addSubview(self.redSquare)
}

1 个答案:

答案 0 :(得分:0)

定义两个标签,例如:

let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
let label2 = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 30))

然后在将redSquare添加到容器中之前在viewDidLoad()内部修复一些标签的属性,并将标签的属性添加到蓝色和红色正方形:

label.center = self.redSquare.center
label.textAlignment = NSTextAlignment.center
label.text = "same text"

label2.textAlignment = NSTextAlignment.center
label2.center = self.blueSquare.center
label2.text = "same text"

self.blueSquare.addSubview(label2)
self.redSquare.addSubview(label)