2017-02-15 8 views
0

Ich habe einen ChatViewController, der JSQMessagesViewController erweitert.JSQMessages werden unter der Navigationsleiste von Show Segue angezeigt

Dieser Ansichtscontroller wird von einem Push-Segment aufgerufen, das über einen Navigationscontroller verfügt. Innerhalb meines Storyboards habe ich einen einfachen Übergang von einer Schaltfläche zu einem Element, das zu einem View Controller mit ChatViewController als benutzerdefinierte Klasse verschoben wird. Innerhalb des Storyboards wird die Navigationsleiste abgeleitet (oben angezeigt).

messages over bar

Allerdings, wenn ich in ChatViewController gehen, werden die Nachrichten unter der Navigationsleiste angezeigt. Sobald ich in das Nachrichtentextfeld klicke, werden die Nachrichten korrekt positioniert. Wie behebe ich das Problem, damit der Benutzer nicht in das Textfeld klicken muss? Gibt es einen Befehl, den ich vermisse, der die neuen Nachrichten korrekt ausgibt?

Antwort

2

Dieses Problem wurde tatsächlich adressiert here und here. Sie können einfach den oberen Inset festlegen, um die Höhe des Balkens zu berücksichtigen. Jesse Squires hat tatsächlich ein spezielles Element für solche Fälle genannt topContentAdditionalInset, die Sie wie folgt verwenden können:

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.topContentAdditionalInset = myBarsHeight // in CGFloat 
} 
+0

Dank für das führt mich auf den richtigen Weg nach unten ... Ich konnte nicht, dass bestimmte Eigenschaft für den View-Controller finden. .. Ich stellte am Ende den Sammlungsansicht Inhalt inset oben auf collectionView setzen? .contentInset.top = height + 8 – user2671774

+1

Einstellung der collectionView? .contentInset.top vermasselt einige Sachen für mich, das ist, als ich über diese Eigenschaft erfuhr. Froh, dass du es zur Arbeit bekommen hast! :-) – ThunderStruct

Verwandte Themen