devopsinthecloud
devopsinthecloud copied to clipboard
Create typingAttributesSetByApp to restore textView typingAttributes
I was running into issues where after a mention is detected, my textView's typingAttributes
are not used.
Looking at the code, it appears that after inserting a mention, the typingAttributes
get recreated via stripCustomAttributesFromTypingAttributes
. This method takes the current typingAttributes
and removes all keys that are also in mentionUnselectedAttributes
. It then tries to recreate typingAttributes
by using fontSetByApp
and textColorSetByApp
.
My code never set these values, and instead was only using typingAttributes
. After a mention was created, the font and foreground attributes would be removed by stripCustomAttributesFromTypingAttributes
, leaving my textView with no typingAttributes
.
This is a simple change to also keep track of typingAttributesSetByApp
. If in typingAttributesByStrippingMentionAttributes:
we see that typingAttributesSetByApp
is non-nil, we return those. Otherwise we fall back on fontSetByApp
and textColorSetByApp
.