Desidero che la barra di navigazione mostri due elementi nel mezzo. Uno sarà il nome della lista e l'altro sarà il nome degli utenti. I nomi degli utenti saranno collocati sotto il nome della lista. Quello che ho fatto finora è che ho creato due etichette e una superview programmaticamente e ho impostato il titleView
di navigationItem
.Barra di navigazione titleVisione allineamento
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
La cosa è, sto raccogliendo larghezza in modo casuale, che porta a problemi di allineamento in diversi dispositivi. Come raggiungere l'allineamento medio nel mio caso?
Avete provato l'impostazione di un NSLayoutConstraint per CenterX? – gutenmorgenuhu
Non l'ho fatto. Ma ho cercato di impostare "textForViews" center x variabile per le viste (che viene fornito con controller) center x variabile – Salihcyilmaz
A proposito di come aggiungere un vincolo a livello di codice? – Salihcyilmaz