0

Ich benutze JSQmessageViewController und versuchen, programmgesteuert "Zurück" Button & Benutzerbild auf der Navigationsleiste hinzuzufügen. Ich verwende die folgenden Codes. Nach dem Ausführen gibt es keine "Zurück" -Schaltfläche oder Bild. Anbei ist der Screenshot des Simulators. Ich habe diese Codes mit dem normalen UIViewController getestet und sie haben funktioniert.JSQmessageView Controller: Hinzufügen "Zurück" Button & Bild in der Navigationsleiste, Swift

Darf ich wissen, warum sie nicht mit dem JSQmessageViewController arbeiten? Und was soll ich tun, um die Schaltfläche "Zurück" & in der Navigationsleiste hinzuzufügen? Danke vielmals!

let navigationBar = UINavigationBar(frame: CGRectMake(0, 0, self.view.frame.size.width, 64)) 

    navigationBar.backgroundColor = UIColor.whiteColor() 
    navigationBar.delegate = self; 


    let navigationItem = UINavigationItem() 
    navigationItem.title = strValue 

    let leftButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "back:") 
    self.navigationItem.leftBarButtonItem = leftButton 

    let imgButton = UIButton() 

    imgButton.setImage(image, forState: .Normal) 
    imgButton.addTarget(self, action: "EditProfile:", forControlEvents: UIControlEvents.TouchDown) 
    imgButton.frame = CGRectMake(self.view.frame.width - 60, 0, 41, self.view.frame.height) 

    var rightButton = UIBarButtonItem(customView: imgButton) 

    self.navigationItem.rightBarButtonItem = rightButton 


    navigationBar.items = [navigationItem] 

    self.view.addSubview(navigationBar) 

}

+0

Ich sehe den beigefügten Screenshot nicht. –

Antwort

0

Wenn Sie also einen Navigation-Controller verwenden, um Ihre Instantiierung des JSQMessagesViewController dann die Navigationsleiste eigentlich schon sollte es zu präsentieren. Sie können es einfach mit diesen Schaltflächen versehen und sie werden an der richtigen Stelle sein. Es scheint auch, dass Sie Dinge in einer veralteten Syntax tun können. Hier ist die neueste Syntax.

Erstellen Sie eine Funktion, um Ihre Zurück-Schaltfläche hinzuzufügen.

func addCancelButtonLeft() { 
    let button = UIBarButtonItem(barButtonSystemItem: .back, target: self, action: #selector(dismissView)) 
    navigationItem.leftBarButtonItem = button 
} 

Erstellen Sie die Aktion für die Schaltfläche.

Dann für Ihr Bild versuchen Sie tatsächlich, einen Knopf in dieser Titelansicht zu setzen. Was ist in Ordnung.

lassen Sie mich wissen, wenn Sie weitere Fragen haben und ich werde sehen, was ich tun kann. Viel Glück

+0

Vielen Dank für die detaillierten Codes und Hilfe. Werde sie ausprobieren und weiter lernen. :) –

Verwandte Themen