From e58d05a85bcfca614b4ced616fddbbaeb6d2a4f9 Mon Sep 17 00:00:00 2001 From: TrueZhuangjia Date: Wed, 26 Feb 2025 23:46:39 +0800 Subject: [PATCH] slide from left to close settings menu --- Limelight/ViewControllers/SettingsViewController.m | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Limelight/ViewControllers/SettingsViewController.m b/Limelight/ViewControllers/SettingsViewController.m index 76171858..fa1b0695 100644 --- a/Limelight/ViewControllers/SettingsViewController.m +++ b/Limelight/ViewControllers/SettingsViewController.m @@ -21,6 +21,7 @@ NSInteger _lastSelectedResolutionIndex; bool justEnteredSettingsViewDoNotOpenOscLayoutTool; uint16_t oscLayoutFingers; + CustomEdgeSlideGestureRecognizer *slideToCloseSettingsViewRecognizer; } @dynamic overrideUserInterfaceStyle; @@ -308,7 +309,6 @@ BOOL isCustomResolution(CGSize res) { } } - - (IBAction)exitButtonTapped:(id)sender { [self->_mainFrameViewController simulateSettingsButtonPress]; [[NSNotificationCenter defaultCenter] postNotificationName:@"SessionDisconnectedBySettingsViewNotification" object:self]; @@ -333,11 +333,23 @@ BOOL isCustomResolution(CGSize res) { exitButton.frame = CGRectMake(0, 20, 200, 50); // Adjust Y and height as needed }*/ +- (void)edgeSwiped { + [self simulateSettingsButtonPress]; +} - (void)viewDidLoad { //[self pushDownExistingWidgets]; //[self addExitButtonOnTop]; + self->slideToCloseSettingsViewRecognizer = [[CustomEdgeSlideGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)]; + slideToCloseSettingsViewRecognizer.edges = UIRectEdgeLeft; + slideToCloseSettingsViewRecognizer.normalizedThresholdDistance = 0.0; + slideToCloseSettingsViewRecognizer.EDGE_TOLERANCE = 10; + slideToCloseSettingsViewRecognizer.immediateTriggering = true; + slideToCloseSettingsViewRecognizer.delaysTouchesBegan = NO; + slideToCloseSettingsViewRecognizer.delaysTouchesEnded = NO; + [self.view addGestureRecognizer:slideToCloseSettingsViewRecognizer]; + justEnteredSettingsViewDoNotOpenOscLayoutTool = true; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) // handle orientation change since i made portrait mode available