Chcę, aby mój pasek nawigacji pokazywał dwie rzeczy w środku. Jedną z nich będzie nazwa listy, a druga będzie nazwą użytkowników. Nazwy użytkowników zostaną umieszczone pod nazwą listy. To, co dotychczas zrobiłem, stworzyłem programowo dwie etykiety i jeden superview i ustawiłem titleView
z navigationItem
.Tytuł paska nawigacyjnegoView wyrównanie
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
Chodzi o to, że wybieram szerokość losowo, co prowadzi do problemów z wyrównaniem w różnych urządzeniach. Jak uzyskać w moim przypadku średnie wyrównanie?
Czy spróbować ustawienie NSLayoutConstraint dla CenterX? – gutenmorgenuhu
Ja nie. Ale starałem się ustawić "centerForViews" center x zmienną na widoki (to przychodzi ze sterownikiem) center x variable – Salihcyilmaz
Przy okazji, jak programowo dodawać ograniczenia? – Salihcyilmaz