From 9c3f889282816c3b7dcfb19e29fc1653e103c515 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 21 Jan 2022 13:11:52 +0300 Subject: Fix pull to refresh * reset ?before_mid on pull to refresh --- Juick/ViewControllers/MessagesViewController.h | 1 + Juick/ViewControllers/MessagesViewController.m | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'Juick/ViewControllers') diff --git a/Juick/ViewControllers/MessagesViewController.h b/Juick/ViewControllers/MessagesViewController.h index d2fc935..3b466f0 100644 --- a/Juick/ViewControllers/MessagesViewController.h +++ b/Juick/ViewControllers/MessagesViewController.h @@ -22,6 +22,7 @@ extern NSString* const messageCellIdentifier; @property(nonatomic, assign) BOOL shouldAllowToSelectText; @property(nonatomic) NSNumber * firstUnread; -(void) refreshData; +-(void) refreshControlActivated; -(void) viewThreadForMessage:(Message *)msg mid:(NSNumber *)mid scrollTo:(NSNumber *)rid; diff --git a/Juick/ViewControllers/MessagesViewController.m b/Juick/ViewControllers/MessagesViewController.m index 0fb04ac..4277578 100644 --- a/Juick/ViewControllers/MessagesViewController.m +++ b/Juick/ViewControllers/MessagesViewController.m @@ -98,6 +98,13 @@ NSString* const messageCellIdentifier = @"messageCell"; } } +-(void) refreshControlActivated { + NSMutableDictionary *refreshedParams = [self.params mutableCopy]; + refreshedParams[@"before_mid"] = nil; + self.params = refreshedParams; + [self refreshData]; +} + -(BOOL) isAtTop:(NSDictionary *)params { return [params objectForKey:@"before_mid"] == nil && [params objectForKey:@"to"] == nil; } @@ -120,7 +127,7 @@ NSString* const messageCellIdentifier = @"messageCell"; } #if !TARGET_OS_MACCATALYST self.refreshControl = [UIRefreshControl new]; - [self.refreshControl addTarget:self action:@selector(refreshData) forControlEvents:UIControlEventValueChanged]; + [self.refreshControl addTarget:self action:@selector(refreshControlActivated) forControlEvents:UIControlEventValueChanged]; #endif [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newMessage:) name:NewMessageNotificationName object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationActivated) name:UIApplicationDidBecomeActiveNotification object:nil]; -- cgit v1.2.3