Customize UI elements via API
UIExtensionsManager provides APIs to control toolbars, panels, and UI behavior at runtime.
Toolbar visibility
objc
// Disable top toolbar
[extensionsManager enableTopToolbar:NO];
// Disable bottom toolbar
[extensionsManager enableBottomToolbar:NO];
// Disable compact top toolbar (fullscreen)
[extensionsManager enableSmallTopToolbar:NO];
// Disable compact bottom toolbar (fullscreen)
[extensionsManager enableSmallBottomToolbar:NO];Toolbar button visibility
Use setToolbarItemHiddenWithTag:hidden: per button:
objc
// Hide a toolbar button
[extensionsManager setToolbarItemHiddenWithTag:FS_TOOLBAR_ITEM_TAG_XXX hidden:YES];
// Get visibility state for all toolbar buttons
NSDictionary *hiddenStatus = [extensionsManager getToolbarItemHiddenStatus];Fullscreen mode
objc
// Enter fullscreen (hide top and bottom toolbars)
[extensionsManager setFullScreen:YES];
// Exit fullscreen
[extensionsManager setFullScreen:NO];
// Listen for fullscreen changes
[extensionsManager registerFullScreenListener:self];
// IFullScreenListener
- (void)onFullScreen:(BOOL)isFullScreen {
NSLog(@"全屏模式: %@", isFullScreen ? @"YES" : @"NO");
}Back button customization
objc
extensionsManager.goBack = ^{
[self.navigationController popViewControllerAnimated:YES];
};Search panel
objc
// Show search panel
[extensionsManager showSearchBar:YES];
// Hide search panel
[extensionsManager showSearchBar:NO];Link and form highlighting
objc
// Enable/disable hyperlink navigation
extensionsManager.enableLinks = YES;
// Link highlight
extensionsManager.enableHighlightLinks = YES;
extensionsManager.linksHighlightColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:0.3];
// Form highlight
extensionsManager.enableHighlightForm = YES;
extensionsManager.highlightFormColor = [UIColor colorWithRed:0.8 green:0.9 blue:1 alpha:0.5];Annotation settings
objc
// Annotation author
extensionsManager.annotAuthor = @"张三";
// Keep adding annotations
extensionsManager.continueAddAnnot = YES;
// Disable document modification
[extensionsManager enableModification:NO];Printing
UIExtensionsManager provides a static print helper:
objc
[UIExtensionsManager printDoc:doc animated:YES inWindow:self.view.window
jobName:@"打印测试" delegate:nil completionHandler:^(
UIPrintInteractionController *controller, BOOL completed, NSError *error) {
if (completed) {
NSLog(@"打印完成");
}
}];API reference
See the API reference for UIExtensionsManager.