forked from mirrors/linphone-iphone
Fix collectionViewImageGrid with text and scroll to bottom when chat room view is disapear
This commit is contained in:
parent
3513afc8c7
commit
3b894f2653
2 changed files with 25 additions and 7 deletions
|
|
@ -113,6 +113,9 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour
|
|||
}
|
||||
|
||||
override func viewWillDisappear(_ animated: Bool) {
|
||||
if ChatConversationTableViewModel.sharedModel.getNBMessages() > 0 {
|
||||
scrollToBottom(animated: false)
|
||||
}
|
||||
NotificationCenter.default.removeObserver(self, name: Notification.Name("LinphoneFriendPresenceUpdate"), object: nil)
|
||||
NotificationCenter.default.removeObserver(self)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
var recordingWaveConstraints: [NSLayoutConstraint] = []
|
||||
var recordingWaveConstraintsWithMediaGrid: [NSLayoutConstraint] = []
|
||||
var meetingConstraints: [NSLayoutConstraint] = []
|
||||
var constraintGridWithTextLeading : NSLayoutConstraint? = nil
|
||||
var constraintGridWithTextTrailing : NSLayoutConstraint? = nil
|
||||
|
||||
var eventMessageLineView: UIView = UIView(frame: .zero)
|
||||
var eventMessageLabelView: UIView = UIView(frame: .zero)
|
||||
|
|
@ -430,18 +432,20 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
collectionViewImagesGrid.translatesAutoresizingMaskIntoConstraints = false
|
||||
imagesGridConstraints = [
|
||||
collectionViewImagesGrid.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top),
|
||||
collectionViewImagesGrid.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom),
|
||||
collectionViewImagesGrid.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left),
|
||||
collectionViewImagesGrid.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right),
|
||||
collectionViewImagesGrid.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom)
|
||||
]
|
||||
|
||||
imagesGridConstraintsWithRecording = [
|
||||
collectionViewImagesGrid.topAnchor.constraint(equalTo: contentMediaViewBubble.topAnchor, constant: labelInset.top + 50),
|
||||
collectionViewImagesGrid.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom),
|
||||
collectionViewImagesGrid.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left),
|
||||
collectionViewImagesGrid.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right),
|
||||
collectionViewImagesGrid.bottomAnchor.constraint(equalTo: contentMediaViewBubble.bottomAnchor, constant: labelInset.bottom)
|
||||
]
|
||||
|
||||
|
||||
constraintGridWithTextLeading = collectionViewImagesGrid.leadingAnchor.constraint(equalTo: contentMediaViewBubble.leadingAnchor, constant: labelInset.left)
|
||||
constraintGridWithTextTrailing = collectionViewImagesGrid.trailingAnchor.constraint(equalTo: contentMediaViewBubble.trailingAnchor, constant: labelInset.right)
|
||||
constraintGridWithTextLeading!.isActive = true
|
||||
constraintGridWithTextTrailing!.isActive = true
|
||||
|
||||
collectionViewImagesGrid.dataSource = self
|
||||
collectionViewImagesGrid.delegate = self
|
||||
collectionViewImagesGrid.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cellImagesGridMessage")
|
||||
|
|
@ -1405,8 +1409,19 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
if imagesGridCollectionView.count > 0 {
|
||||
self.collectionViewImagesGrid.layoutIfNeeded()
|
||||
}
|
||||
|
||||
if imagesGridCollectionView.count == 1 && recordingView.isHidden == true {
|
||||
collectionViewImagesGrid.width(138).done()
|
||||
if label.isHidden {
|
||||
collectionViewImagesGrid.width(138).done()
|
||||
} else {
|
||||
collectionViewImagesGrid.width(138).done()
|
||||
if event.chatMessage?.isOutgoing == true {
|
||||
constraintGridWithTextLeading!.isActive = false
|
||||
} else {
|
||||
constraintGridWithTextTrailing!.isActive = false
|
||||
}
|
||||
label.minWidth(138).done()
|
||||
}
|
||||
}
|
||||
|
||||
if imagesGridCollectionView.count == 2 {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue