jessesquires/JSQMessagesViewController — pull request #531 by walsh2000 (2014-10-06 22:31:24+00:00)
Title: Reset contraints in prepareForReuse

It appears that when reusing a cell which did have a non-zero messageBubbleTopLabelHeightConstraint for a row which has zero for the messageBubbleTopLabelHeightConstraint, the OS complains about being unable to satisfy constraints.

To reproduce with the demo app:
1. Enter "ABC" (or any text probably) and "send" it.
2. Quickly tap the "receive" button 6+ times (without waiting for the animation to finish).

You should wind up with more than one received message from "Person 1" without a received message from "Person 2" in between, which results in a zero height top label. When you scroll, the zero height top label cell is reused by a 20-high label.

We need to reset the constraints in -[JSQMessagesCollectionViewCell prepareForReuse]
`	self.cellTopLabelHeightConstraint.constant = 0.0f;`
`	self.messageBubbleTopLabelHeightConstraint.constant = 0.0f;`
`	self.cellBottomLabelHeightConstraint.constant = 0.0f;`

Debugger output:
`2014-10-06 14:43:38.680 JSQMessages[21613:2165594] Unable to simultaneously satisfy constraints.`
`	Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) `
`(`
` "",`
` "",`
` "",`
` "",`
` "",`
` "",`
` "",`
` "",`
` ""`
`)`

`Will attempt to recover by breaking constraint
`