因此,使用官方SDK目前不可能。我提交了这个增强请求雷达,如果您也需要此功能,请重复提交!目前没有公共API可以做这些事情。如果您想在应用程序中执行此操作,请提交错误报告,并包含您要执行的具体细节。
这些是UIPreviewActionItem
。
在重写previewingContext:viewControllerForLocation:
之后,您还可以重写- (NSArray<id<UIPreviewActionItem>> *)previewActionItems
,这将允许您指定快速操作。
这里有一段代码片段可以帮助您:(相关教程)
- (NSArray<id<UIPreviewActionItem>> *)previewActionItems
{
UIPreviewAction *action1 = [UIPreviewAction actionWithTitle:@"Action 1" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@"Action 1 triggered");
}];
UIPreviewAction *action2 = [UIPreviewAction actionWithTitle:@"Destructive Action" style:UIPreviewActionStyleDestructive handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@"Destructive Action triggered");
}];
UIPreviewAction *action3 = [UIPreviewAction actionWithTitle:@"Selected Action" style:UIPreviewActionStyleSelected handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@"Selected Action triggered");
}];
return @[action1, action2, action3];
}
Apple 文档:
此属性用于预览(peek)视图控制器,您在 previewingContext:viewControllerForLocation: 代理方法的实现中呈现。
实现此方法以为此类预览提供快速操作。当用户向上滑动预览时,系统会在预览下方的表单中呈现这些快速操作项。
此方法的默认实现返回一个空数组。