From a7c8dbdfd73d0e462546736d373eccf168ccadc7 Mon Sep 17 00:00:00 2001 From: eslamwael74 Date: Sun, 21 Jun 2026 18:33:47 +0300 Subject: [PATCH 1/5] [iOS] Decouple top app nav bar visibility from annotation toolbar visibility * Allow hiding the iOS top app navigation bar without hiding annotation toolbars * Update changelog * Updating pubspec.yaml * Updating package version --- CHANGELOG.md | 3 +++ ios/Classes/PTFlutterDocumentController.m | 11 +++++++---- pubspec.yaml | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6e92618..33c3f03d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 1.0.1-57 - June 21, 2026 +- Allow hiding the iOS top app navigation bar without hiding annotation toolbars. + # 1.0.1-56 - May 27, 2026 - Update Android to v11.13.0 diff --git a/ios/Classes/PTFlutterDocumentController.m b/ios/Classes/PTFlutterDocumentController.m index 8363e63d..66df446d 100644 --- a/ios/Classes/PTFlutterDocumentController.m +++ b/ios/Classes/PTFlutterDocumentController.m @@ -140,7 +140,7 @@ - (void)didOpenDocument - (BOOL)isTopToolbarEnabled { - return (!self.topAppNavBarHidden && !self.topToolbarsHidden); + return !self.topToolbarsHidden; } - (BOOL)areTopToolbarsEnabled @@ -157,6 +157,9 @@ - (BOOL)controlsHidden { if (self.navigationController) { if ([self isTopToolbarEnabled]) { + if (![self isNavigationBarEnabled]) { + return NO; + } return [self.navigationController isNavigationBarHidden]; } if ([self isBottomToolbarEnabled]) { @@ -1031,10 +1034,10 @@ - (void)applyViewerSettings } self.toolManager.pencilTool = self.useStylusAsPen ? pencilTool : [PTPanTool class]; - const BOOL hideNav = (self.topAppNavBarHidden || self.topToolbarsHidden); + const BOOL hideNav = self.topToolbarsHidden; self.controlsHidden = hideNav; - const BOOL translucent = hideNav; + const BOOL translucent = (self.topAppNavBarHidden || self.topToolbarsHidden); self.navigationController.navigationBar.translucent = translucent; self.thumbnailSliderController.toolbar.translucent = translucent; @@ -1917,7 +1920,7 @@ - (void)setLeadingNavButtonIcon:(NSString *)leadingNavButtonIcon - (BOOL)shouldSetNavigationBarHidden:(BOOL)navigationBarHidden animated:(BOOL)animated { if (!navigationBarHidden) { - return [self isTopToolbarEnabled]; + return [self isNavigationBarEnabled]; } return YES; } diff --git a/pubspec.yaml b/pubspec.yaml index 2be9cecf..e45c97ab 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: pdftron_flutter description: A convenience wrapper to build Flutter apps that use the PDFTron mobile SDK for smooth, flexible, and stand-alone document viewing. -version: 1.0.1-56 +version: 1.0.1-57 homepage: https://www.apryse.com repository: https://github.com/ApryseSDK/pdftron-flutter issue_tracker: https://github.com/ApryseSDK/pdftron-flutter/issues From 8805ffaa083ca3cc1b8084dd96ed8627bf4866d6 Mon Sep 17 00:00:00 2001 From: eslamwael74 Date: Sun, 21 Jun 2026 18:48:43 +0300 Subject: [PATCH 2/5] [iOS] Preserve nav bar hiding behavior --- ios/Classes/PTFlutterDocumentController.m | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ios/Classes/PTFlutterDocumentController.m b/ios/Classes/PTFlutterDocumentController.m index 66df446d..3c98a380 100644 --- a/ios/Classes/PTFlutterDocumentController.m +++ b/ios/Classes/PTFlutterDocumentController.m @@ -1034,10 +1034,12 @@ - (void)applyViewerSettings } self.toolManager.pencilTool = self.useStylusAsPen ? pencilTool : [PTPanTool class]; - const BOOL hideNav = self.topToolbarsHidden; - self.controlsHidden = hideNav; + const BOOL hideTopToolbars = self.topToolbarsHidden; + self.controlsHidden = hideTopToolbars; - const BOOL translucent = (self.topAppNavBarHidden || self.topToolbarsHidden); + const BOOL hideTopAppNavBar = (self.topAppNavBarHidden || self.topToolbarsHidden); + const BOOL translucent = hideTopAppNavBar; + [self.navigationController setNavigationBarHidden:hideTopAppNavBar animated:NO]; self.navigationController.navigationBar.translucent = translucent; self.thumbnailSliderController.toolbar.translucent = translucent; From abec92b0a5ae0c5e830100393add219ceecd4d0b Mon Sep 17 00:00:00 2001 From: eslamwael74 Date: Sun, 21 Jun 2026 18:52:59 +0300 Subject: [PATCH 3/5] [iOS] Respect top app nav bar visibility flag --- ios/Classes/PTFlutterDocumentController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Classes/PTFlutterDocumentController.m b/ios/Classes/PTFlutterDocumentController.m index 3c98a380..dcdbc7ed 100644 --- a/ios/Classes/PTFlutterDocumentController.m +++ b/ios/Classes/PTFlutterDocumentController.m @@ -1037,7 +1037,7 @@ - (void)applyViewerSettings const BOOL hideTopToolbars = self.topToolbarsHidden; self.controlsHidden = hideTopToolbars; - const BOOL hideTopAppNavBar = (self.topAppNavBarHidden || self.topToolbarsHidden); + const BOOL hideTopAppNavBar = self.topAppNavBarHidden; const BOOL translucent = hideTopAppNavBar; [self.navigationController setNavigationBarHidden:hideTopAppNavBar animated:NO]; self.navigationController.navigationBar.translucent = translucent; From 775bef08fd444fe36fe336b68accf3a38cd68307 Mon Sep 17 00:00:00 2001 From: eslamwael74 Date: Sun, 21 Jun 2026 19:13:41 +0300 Subject: [PATCH 4/5] [iOS] Update navigation bar visibility logic * Update navigation bar visibility to account for top toolbars state * Hide navigation bar when top toolbars are hidden --- ios/Classes/PTFlutterDocumentController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Classes/PTFlutterDocumentController.m b/ios/Classes/PTFlutterDocumentController.m index dcdbc7ed..3c98a380 100644 --- a/ios/Classes/PTFlutterDocumentController.m +++ b/ios/Classes/PTFlutterDocumentController.m @@ -1037,7 +1037,7 @@ - (void)applyViewerSettings const BOOL hideTopToolbars = self.topToolbarsHidden; self.controlsHidden = hideTopToolbars; - const BOOL hideTopAppNavBar = self.topAppNavBarHidden; + const BOOL hideTopAppNavBar = (self.topAppNavBarHidden || self.topToolbarsHidden); const BOOL translucent = hideTopAppNavBar; [self.navigationController setNavigationBarHidden:hideTopAppNavBar animated:NO]; self.navigationController.navigationBar.translucent = translucent; From 37901912dd1029d6f3ad1dbd957e2ce4f89e92b8 Mon Sep 17 00:00:00 2001 From: eslamwael74 Date: Sun, 21 Jun 2026 19:40:58 +0300 Subject: [PATCH 5/5] [iOS] Update navigation bar visibility logic * Prevent showing the navigation bar when top toolbars are hidden. --- ios/Classes/PTFlutterDocumentController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Classes/PTFlutterDocumentController.m b/ios/Classes/PTFlutterDocumentController.m index 3c98a380..eadee88f 100644 --- a/ios/Classes/PTFlutterDocumentController.m +++ b/ios/Classes/PTFlutterDocumentController.m @@ -1922,7 +1922,7 @@ - (void)setLeadingNavButtonIcon:(NSString *)leadingNavButtonIcon - (BOOL)shouldSetNavigationBarHidden:(BOOL)navigationBarHidden animated:(BOOL)animated { if (!navigationBarHidden) { - return [self isNavigationBarEnabled]; + return [self isNavigationBarEnabled] && !self.topToolbarsHidden; } return YES; }