ios - When Using JSQMessagesViewController the UI does not appear -
i trying implement jsqmessagesviewcontroller, , following ray wenderlich tutorial(https://www.raywenderlich.com/122148/firebase-tutorial-real-time-chat), ui not appearing on view controller, blank. pod file.
source 'https://github.com/cocoapods/specs.git' use_frameworks! target "sell goods" pod 'firebase' pod 'firebase/storage' pod 'firebase/database' pod 'google/signin' pod 'jsqmessagesviewcontroller' end
i have tried using bridging header did not work, , followed tutorial step step.
segue chatviewcontroller
override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) { guard let editingvc = segue.destinationviewcontroller as? chatsviewcontroller else { preconditionfailure("bad") } editingvc.senderid = userid editingvc.senderdisplayname = username }
chatviewcontroller
import firebase import jsqmessagesviewcontroller class chatsviewcontroller: jsqmessagesviewcontroller { var messages = [jsqmessage]() var outgoingbubbleimageview: jsqmessagesbubbleimage! var incomingbubbleimageview: jsqmessagesbubbleimage! override func viewdidload() { title = "chatchat" setupbubbles() //collectionview!.collectionviewlayout.incomingavatarviewsize = cgsizezero //collectionview!.collectionviewlayout.outgoingavatarviewsize = cgsizezero // additional setup after loading view. } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } override func viewdidappear(animated: bool) { resetscreen = true } private func setupbubbles() { let factory = jsqmessagesbubbleimagefactory() outgoingbubbleimageview = factory.outgoingmessagesbubbleimagewithcolor( uicolor.jsq_messagebubblebluecolor()) incomingbubbleimageview = factory.incomingmessagesbubbleimagewithcolor( uicolor.jsq_messagebubblelightgraycolor()) } override func collectionview(collectionview: jsqmessagescollectionview!, messagebubbleimagedataforitematindexpath indexpath: nsindexpath!) -> jsqmessagebubbleimagedatasource! { let message = messages[indexpath.item] if message.senderid == senderid { return outgoingbubbleimageview } else { return incomingbubbleimageview } } override func collectionview(collectionview: jsqmessagescollectionview!, messagedataforitematindexpath indexpath: nsindexpath!) -> jsqmessagedata! { return messages[indexpath.item] } override func collectionview(collectionview: uicollectionview, numberofitemsinsection section: int) -> int { return messages.count } override func collectionview(collectionview: jsqmessagescollectionview!, avatarimagedataforitematindexpath indexpath: nsindexpath!) -> jsqmessageavatarimagedatasource! { return nil } }
you must call super.viewdidload
& super.viewdiddisappear
Comments
Post a Comment