通过 API 自定义 UI 元素
福昕 PDF SDK iOS 版的 UIExtensionsManager 提供了丰富的 API,可以在运行时动态控制工具栏、面板和 UI 行为。
控制工具栏显隐
UIExtensionsManager 提供了控制顶部和底部工具栏的 API:
objc
// 禁用顶部工具栏
[extensionsManager enableTopToolbar:NO];
// 禁用底部工具栏
[extensionsManager enableBottomToolbar:NO];
// 禁用精简顶部工具栏(全屏模式下)
[extensionsManager enableSmallTopToolbar:NO];
// 禁用精简底部工具栏(全屏模式下)
[extensionsManager enableSmallBottomToolbar:NO];
控制工具栏按钮显隐
通过 setToolbarItemHiddenWithTag:hidden: 控制单个按钮的显隐:
objc
// 隐藏指定工具栏按钮
[extensionsManager setToolbarItemHiddenWithTag:FS_TOOLBAR_ITEM_TAG_XXX hidden:YES];
// 获取所有工具栏按钮的显隐状态
NSDictionary *hiddenStatus = [extensionsManager getToolbarItemHiddenStatus];
全屏模式
objc
// 进入全屏模式(隐藏顶部和底部工具栏)
[extensionsManager setFullScreen:YES];
// 退出全屏模式
[extensionsManager setFullScreen:NO];
// 监听全屏状态变化
[extensionsManager registerFullScreenListener:self];
// IFullScreenListener
- (void)onFullScreen:(BOOL)isFullScreen {
NSLog(@"全屏模式: %@", isFullScreen ? @"YES" : @"NO");
}
返回按钮自定义
objc
extensionsManager.goBack = ^{
[self.navigationController popViewControllerAnimated:YES];
};
搜索面板
objc
// 显示搜索面板
[extensionsManager showSearchBar:YES];
// 隐藏搜索面板
[extensionsManager showSearchBar:NO];
链接与表单高亮
objc
// 启用/禁用超链接跳转
extensionsManager.enableLinks = YES;
// 启用/禁用链接高亮
extensionsManager.enableHighlightLinks = YES;
extensionsManager.linksHighlightColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:0.3];
// 启用/禁用表单高亮
extensionsManager.enableHighlightForm = YES;
extensionsManager.highlightFormColor = [UIColor colorWithRed:0.8 green:0.9 blue:1 alpha:0.5];
注释相关设置
objc
// 设置注释作者
extensionsManager.annotAuthor = @"张三";
// 设置是否持续添加注释
extensionsManager.continueAddAnnot = YES;
// 禁止文档修改
[extensionsManager enableModification:NO];
打印
UIExtensionsManager 提供了静态打印方法:
objc
[UIExtensionsManager printDoc:doc animated:YES inWindow:self.view.window
jobName:@"打印测试" delegate:nil completionHandler:^(
UIPrintInteractionController *controller, BOOL completed, NSError *error) {
if (completed) {
NSLog(@"打印完成");
}
}];
API 参考
UIExtensionsManager 的完整接口说明请参阅 API 手册。