Позиция метки или любого другого UIView - это origin
его frame
, который представляет собой CGPoint, представляющий его верхний левый угол.
Итак, вы в настоящее время говорите:
displayWicketLabel.frame = secondScreenView.bounds
displayRunsLabel.frame = secondScreenView.bounds
displayOversLabel.frame = secondScreenView.bounds
Ну, это довольно глупо, потому что вы дали всем трем меткам один и тот же кадр!Таким образом, они накладываются друг на друга, и (как вы правильно говорите) вы можете читать их, только давая им различные выравнивания текста.
Вместо этого, присвойте им каждый отдельный кадр - тот, который помещает метку туда, где вы хотите.Например:
displayWicketLabel.sizeToFit()
displayWicketLabel.frame.origin = CGPoint(x:30, y:20) // or whatever
displayRunsLabel.sizeToFit()
displayRunsLabel.frame.origin = CGPoint(x:30, y:100) // or whatever
displayOversLabel.sizeToFit()
displayOversLabel.frame.origin = CGPoint(x:30, y:200) // or whatever
Теперь, сказав все это, явный недостаток кода, который я только что показал вам, заключается в том, что мы жестко закодировали позиции произвольно, без учета размера окна.есть (внешний дисплей).По этой причине для вас будет гораздо лучше узнать об автоматической разметке, которая позволит вам разместить три метки в удобных положениях автоматически в зависимости от размера окна.