Я хочу, чтобы моя панель навигации показывала две вещи посередине. Один из них будет списком, а другой будет именем пользователей. Имена пользователей будут помещаться под именем списка. Что я сделал до сих пор, я создал две метки и один супервизор программно и установил titleView
из navigationItem
.Навигационная панель titleView alignment
override func viewDidLoad() {
super.viewDidLoad()
var rectForView = CGRect(x: 0, y: 0, width: 190, height: 176)
var viewForTitle = UIView(frame: rectForView)
var rectForNameLabel = CGRect(x: 0, y: 63, width: 190, height: 30)
var listNameLabel = UILabel(frame: rectForNameLabel)
listNameLabel.text = "Name of the List...."
listNameLabel.textAlignment = NSTextAlignment.Center
listNameLabel.font = UIFont(name: "HelveticaNeue-Bold", size: 15)
var rectForListLabel = CGRect(x: 0, y: 93, width: 190, height: 20)
var usersOfListLabel = UILabel(frame: rectForListLabel)
usersOfListLabel.text = "some Users...."
usersOfListLabel.textAlignment = NSTextAlignment.Center
usersOfListLabel.font = UIFont(name: "HelveticaNeue", size: 10)
viewForTitle.addSubview(listNameLabel)
viewForTitle.addSubview(usersOfListLabel)
self.navigationItem.titleView = viewForTitle
Дело в том, что я выбираю ширину случайным образом, что приводит к проблемам с выравниванием на разных устройствах. Как достичь среднего выравнивания в моем случае?
ли вы попробовать установить в NSLayoutConstraint для CenterX? – gutenmorgenuhu
Я этого не сделал. Но я попытался установить центральную переменную «textForViews» в переменную вида (которая идет с контроллером). Центральная переменная x – Salihcyilmaz
Кстати, как добавить ограничение программно? – Salihcyilmaz