There is no way to distinguish between the user tapping on a bubble or the expand chevron

Try this:


1 - select the extenion to get it running on compact mode

2 - tap on a message, `didSelect` fires and the app goes to expanded mode

3 - tap on the compact chevron, now the app is in compact mode


From that moment, `didSelect` won't fire anymore, and it's impossible to distiguish between the user tapping on the expand chevron and the user tapping on the same bubble.


Can we have just a "didTap" that fires every time the user taps on a bubble?

Replies

We're seeing this behavior on our end as well. It appears that if a message has already been selected, it cannot be "reselected" while the iMessage app is still active? Is that the expected behavior?

Apple's position appears to be this is a feature, not a bug.


A response from an Apple dev.

MSMessagesAppViewController.didSelect(message:conversation:) not called on message reselect


I'm still trying to figure out a workaround. Open to suggestions.


My bug report is currently open. OpenRadar: 27621637.


Also.

MSMessagesAppViewController overridden willSelect is never called

willSelectMessage and didSelectMessage don't fire

The api is incomplete as it is, There is no workaround possible.


We need a `didTap` method.


Also, the tableview example is not comparable, because messages.nor interactive bubbles have a selected state visible to the user as rows in a tableview have.

I agree. The IceCreamBuilder sample code ignores the difference between tapping a message bubble and tapping the expand chevron control. This strikes me as confusing from a user perspective.

Has anyone figured out a solution for this?