From 18adf26e0642e7856b63f308657cdc4c3c14783e Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Tue, 10 Jul 2018 17:31:11 -0600 Subject: [PATCH] Don't present over navbar. // FREEBIE --- .../ConversationViewController.m | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m index f98268dd8..e2d4cd10f 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m @@ -1992,14 +1992,25 @@ typedef enum : NSUInteger { - (void)conversationCellDidLongpressText:(ConversationViewCell *)cell viewItem:(ConversationViewItem *)viewItem { - MessageActionsViewController *messageActionsViewController = - [[MessageActionsViewController alloc] initWithFocusedView:cell]; + // TODO Interpolate from 0->0.3 depending on distance to make visible. + NSTimeInterval animationDuration = 0.3; + + // Instead of animating manually we could use `scrollRectToVisible:animated:YES`, but then we'd need to juggle a + // completion handler into scrollDidEnd + [UIView animateWithDuration:animationDuration + animations:^{ + [self.collectionView scrollRectToVisible:cell.frame animated:NO]; + } + completion:^(BOOL finished) { + MessageActionsViewController *messageActionsViewController = + [[MessageActionsViewController alloc] initWithFocusedView:cell]; - messageActionsViewController.delegate = self; + messageActionsViewController.delegate = self; - [[OWSWindowManager sharedManager] showMessageActionsWindow:messageActionsViewController]; + [[OWSWindowManager sharedManager] showMessageActionsWindow:messageActionsViewController]; - [self updateShouldObserveDBModifications]; + [self updateShouldObserveDBModifications]; + }]; } - (NSAttributedString *)attributedContactOrProfileNameForPhoneIdentifier:(NSString *)recipientId