2017-06-26 7 views
0

Kann jemand vorschlagen, wie effektiv zu erreichen, was auf dem Bild unten erscheint?iOS - Benutzerdefinierte Navigationsleiste mit mehrzeiligem Titel

Expected outcome with title

Fassen wir zusammen:

  1. Die titleView nahe der Back Taste ausgerichtet ist. Ich habe versucht, indem Sie den Rahmen der titleView, aber es ändert sich nur innerhalb einer festen Grenzen
  2. Die title ist mehrzeilig und linksbündig. Ich denke, das nur erreicht werden kann, die .textAlignment und numberOfLines Eigenschaften, vermutlich indem die title label
  3. Die title.top scheinen mit backButton.top
  4. Die graue Linie unter dem Titel wäre nicht die topLayoutGuide ausgerichtet werden, wie es scheint, anpassbare zumindest in seiner Länge
  5. Die Navigationsleiste selbst ist mehr als 64p - die Standardhöhe, und kann möglicherweise berechnet werden?

Bisher habe ich versucht, einen UIView mit einem UILabel Subview der Navigationsleiste hinzugefügt und es funktioniert irgendwie aber sieht aus wie

What is achieved so far

+0

Könnte ein Duplikat sein [Im] (https://stackoverflow.com/questions/34298383/multiline-navigationbar-title) – Dopapp

+0

No. Das Problem ist nicht der "mehrzeilige" Teil, sondern die Ausrichtung des Titels in Bezug auf den Zurück-Button und die Höhe der Navigationsleiste selbst. – unspokenblabber

+0

Wie wäre es mit [this] (https://stackoverflow.com/questions/29949969/ Hinzufügen eines Titels zur linken Seite der Navigationsleiste – Dopapp

Antwort

0

Sie unter Code ausprobieren können.

Objective C

UILabel *lblTitle = [[UILabel alloc] init]; 
lblTitle.textColor = [UIColor blackColor]; 
[email protected]"This is a multiline string for the navBar details"; 
lblTitle.font=[UIFont systemFontOfSize:16]; 
lblTitle.frame = CGRectMake(0, 0, 150, 50); 
lblTitle.numberOfLines=3; 
self.navigationItem.titleView = lblTitle; 

SWIFT

let label = UILabel(frame: CGRect(x:0, y:0, width:150, height:50)) 
    label.backgroundColor = UIColor.clear 
    label.numberOfLines = 3 
    label.font = UIFont.boldSystemFont(ofSize: 16.0) 
    label.textColor = UIColor.blackColor 
    label.text = "This is a multiline string for the navBar details" 
    self.navigationItem.titleView = label 
+0

Darauf wurde von @Dopapp hingewiesen und wie ich schon erwähnt habe, habe ich das schon probiert. Dies beschränkt die Beschriftung nur auf die festen Grenzen von navigationItems titleView. – unspokenblabber

Verwandte Themen