diff --git a/ios/RNSBarButtonItem.mm b/ios/RNSBarButtonItem.mm index 0eb1f09dee..9204d9864f 100644 --- a/ios/RNSBarButtonItem.mm +++ b/ios/RNSBarButtonItem.mm @@ -188,11 +188,16 @@ + (UIMenu *)initUIMenuWithDict:(NSDictionary *)dict image = img; }]; - return [UIMenu menuWithTitle:dict[@"title"] - image:image - identifier:nil - options:RNSMakeUIMenuOptionsFromConfig(dict) - children:elements]; + UIMenu *menu = [UIMenu menuWithTitle:dict[@"title"] + image:image + identifier:nil + options:RNSMakeUIMenuOptionsFromConfig(dict) + children:elements]; + NSString *subtitle = dict[@"subtitle"]; + if (subtitle != nil && @available(iOS 15.0, *)) { + menu.subtitle = subtitle; + } + return menu; } + (UIAction *)createActionItemFromConfig:(NSDictionary *)dict diff --git a/src/types.tsx b/src/types.tsx index 76a83f3acb..9dbb91835f 100644 --- a/src/types.tsx +++ b/src/types.tsx @@ -1251,6 +1251,7 @@ export interface HeaderBarButtonItemMenuAction { export interface HeaderBarButtonItemSubmenu { type: 'submenu'; title?: string | undefined; + subtitle?: string | undefined; icon?: PlatformIconIOS | undefined; items: HeaderBarButtonItemWithMenu['menu']['items']; displayInline?: boolean | undefined;