2016-07-20 96 views
3

Ich möchte das Logo meiner App gefolgt von der App-Name in der Navigationsleiste haben. Zusammen mit diesem sollte es einen Zurückknopf geben.Swift: Logo in der Navigationsleiste mit Zurück-Taste

Nachstehend ist ein Screenshot:

Screenshot for question

ich den Code unten ausprobiert habe.

self.navigationItem.setHidesBackButton(false, animated:true); 

let imgLogo : UIImage = UIImage(named:"Logo")! 
let imgViewLogo : UIImageView = UIImageView(image: imgLogo) 
imgViewLogo.frame = CGRectMake(0, 0, 40, 40) 

let leftItem:UIBarButtonItem = UIBarButtonItem(customView: imgViewLogo) 
self.navigationItem.leftBarButtonItem = leftItem 
// App Name set on storyboard at design-time 

Damit wird das Logo oben auf der unteren Schaltfläche angezeigt.

Screenshot 2

Wie kann dies erreicht werden?

Antwort

1

Sie können benutzerdefinierte Ansicht für navigationItem.titleView verwenden. Erstellen UIView mit Ihrem Logo und ein Label für UIViewController Titel und setzen
navigationItem.titleView = YOUR_CUSTOM_VIEW;

1

Statt .leftBarButtonItem Verwendung mit:

let imgLogo : UIImage = UIImage(named:"Logo")! 
    let imgViewLogo : UIImageView = UIImageView(image: imgLogo) 
    imgViewLogo.frame = CGRectMake(0, 0, 40, 40) 

    let leftItem:UIBarButtonItem = UIBarButtonItem(customView: imgViewLogo) 
    self.navigationItem.leftBarButtonItems?.append(leftItem) 

Es zusammen mit dem System zurück Taste enter image description here

+0

nicht gearbeitet Hat. Es zeigt nur Schaltfläche und App-Name zurück. –

0
hinzugefügt werden

Sie kann Tonnen von Beispiel darüber finden.

In diesem Beispiel habe ich auch einen Raum hinzugefügt haben zentriert auch Ihr Logo, wenn Sie benötigt:

let leftButton: UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Logo")!, style: UIBarButtonItemStyle.Plain, target: self, action:#selector(MyViewController.leftButtonPress(_:))) 
let negativeSpacer = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FixedSpace, target: nil, action: nil) 
negativeSpacer.width = -5.0 // Left inset to better center your logo 
navigationItem.leftBarButtonItems = [negativeSpacer,leftButton] 

func leftButtonPress(sender: AnyObject?) { 
    // do whatever you want when you press back button 
} 
+0

Immer noch das Gleiche. Ich will zurück Button, Logo und dann App-Name ist Sequenz –

+0

Ich weiß nicht, wenn Sie leftBarButtonItems statt leftBarButtonItem gesehen haben, kann es Ihnen erlauben, mehr als ein Elemente hinzuzufügen;) –

+1

Ich habe beide Eigenschaften früher überprüft ;-) –