2015-01-29 3 views
1

채팅 앱에 JSQMessagesViewController를 사용하고 있습니다. 들어오는 메시지 버블을 추가하면 버블이 화면의 오른쪽에 붙습니다.JSQMessagesViewController incomingMessagesBubble이 오른쪽으로 붙어 있습니다.

import UIKit 

class ChatViewController: JSQMessagesViewController, JSQMessagesCollectionViewDataSource, JSQMessagesCollectionViewDelegateFlowLayout { 


var dataList: [JSQMessage] = [] 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 

    self.senderId = "ME"; 
    self.senderDisplayName = "123256789"; 
    automaticallyScrollsToMostRecentMessage = true 

    //dataList.append(JSQMessage(senderId: "Ilan", senderDisplayName: "ilandbt", date: NSDate(), text: "HelpMe")) 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 
    collectionView.collectionViewLayout.springinessEnabled = true 
} 

/* 
// MARK: - Navigation 

// In a storyboard-based application, you will often want to do a little preparation before navigation 
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    // Get the new view controller using segue.destinationViewController. 
    // Pass the selected object to the new view controller. 
} 
*/ 

func senderDisplayName() -> String! { 
    return "Ilan" 
} 

func senderId() -> String! { 
    return "123256789" 
} 

override func didPressSendButton(button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: NSDate!) { 
    JSQSystemSoundPlayer.jsq_playMessageSentSound() 

    let message: JSQMessage = JSQMessage(senderId: senderId, senderDisplayName: senderDisplayName, date: date, text: text) 

    dataList.append(message) 
    self.finishSendingMessageAnimated(true) 
} 



override func collectionView(collectionView: JSQMessagesCollectionView!, messageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageData! { 

    return self.dataList[indexPath.row] 
} 

override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
    return self.dataList.count 
} 


override func collectionView(collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageBubbleImageDataSource! { 

    //return JSQMessagesBubbleImageFactory().incomingMessagesBubbleImageWithColor(UIColor.jsq_messageBubbleRedColor()) 
    return JSQMessagesBubbleImageFactory().outgoingMessagesBubbleImageWithColor(UIColor.jsq_messageBubbleBlueColor()) 
} 


override func collectionView(collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageAvatarImageDataSource! { 

    let diameter = UInt(collectionView.collectionViewLayout.outgoingAvatarViewSize.width) 

    let image = UIImage(named: "defaultProfileImage") 
    return JSQMessagesAvatarImageFactory.avatarImageWithImage(image, diameter: diameter)//nil//JSQMessageAvatarImageDataSource. 
} 

override func collectionView(collectionView: JSQMessagesCollectionView!, layout collectionViewLayout: JSQMessagesCollectionViewFlowLayout!, heightForCellTopLabelAtIndexPath indexPath: NSIndexPath!) -> CGFloat { 
    return kJSQMessagesCollectionViewCellLabelHeightDefault 
} 

은}

이 난 왼쪽에 충실하기 위해 뭔가를 변경하는 건가요?

감사합니다.

+0

JSQMessageViewController를 사용하여 비디오 메시지를 재생하는 방법 ???? –

답변

1

내 실수. 들어오는 보낸 사람의 보낸 사람 ID를 변경해야합니다.