Использовать образ системы для статического UIApplicationShortcutItem
При указании домашнего экрана быстрых действий UIApplicationShortcutItems
В вашем Info.plist есть ли способ использовать образ системы из SF Symbols?
В документах, отмечающих доступные ключи iOS, не указывается ключ для этого, кроме указания одного из предопределенных случаев перечисления из UIApplicationShortcutItemIconType
такие как UIApplicationShortcutIconTypeSearch
,
Похоже, можно использовать образ системы при создании динамических быстрых действий через новый инициализатор UIApplicationShortcutIcon.init(systemImageName: String)
, Кажется странным, что это не было бы доступно для статических быстрых действий.
0 ответов
Использовать UIApplicationShortcutItemIconSymbolName
вместо того UIApplicationShortcutItemIconFile
в вашем Info.plist.
Похоже, что нет возможности использовать их напрямую. Но так как не так много символов, которые вам нужно использовать одновременно статически, вот решение:
- Выберите нужный символ и экспортируйте его из SF Symbols.app:
- Импортируйте его в Assets.xcassets:
- Используйте это имя для ключа
UIApplicationShortcutItemIconFile
:
Результат
Я надеюсь, что Apple скоро добавит прямую поддержку символов SF.
Я прочитал документы и попробовал несколько методов, чтобы заставить это работать, но пришел к выводу, что это невозможно по двум основным причинам:
- Символы SF доступны только для собственного использования на устройствах под управлением iOS 13 или более ранней версии.
Info.plist
файл может указыватьplatform
а такжеdevice
type, но вы не можете указать версию ОС.
В документах Apple также указано, что:
Вы можете использовать символы SF в приложениях, работающих в iOS 13 и новее, watchOS 6 и новее, tvOS 13 и новее. Чтобы просмотреть полный набор символов, загрузите приложение SF Symbols.
Это означает, что вы можете использовать эти символы, но стандартным способом. Вот что вы можете сделать:
- Загрузите приложение SF Symbols отсюда.
- Экспортируйте символы, которые хотите использовать, как файлы SVG.
- Добавьте экспортированные файлы SVG к своим ресурсам.
- Используйте название актива для значения
UIApplicationShortcutItemIconFile
ключ.
Возможно, это не тот метод, на который вы бы надеялись, но это действительное решение для использования символов SF в качестве значков ярлыков, поэтому я надеюсь, что это сработает для вас.