2016-12-26 7 views
8

В iOS 10, когда 3D-прикосновение к вашему приложению, появляется виджет для приложения вместе с ярлыками 3D-касания. Этот виджет автоматически представляет собой небольшую версию виджета вашего приложения; есть ли способ сделать этот виджет большой версией виджета (который обычно просматривается нажатием Show More на экране виджетов)?Показать большой 3D-ярлык для ярлыков

Как я могу сделать виджет, который появляется при 3D-касании моего приложения большой версией виджета моего приложения (что обычно появляется при нажатии «Показать больше»)?

ответ

4

Высота виджета 3D Touch - это ограничение на системном уровне. (Вы заметите, что даже Apple не переопределяет его для сторонних приложений.)

Это связано с тем, что сами меню быстрого действия могут быть довольно высокими, а высоты виджетов не ограничены. И поскольку один из возможных способов взаимодействия с меню быстрого действия перемещает ваш палец вверх/вниз от того места, где вы нажали, прокрутка, очевидно, не может быть и речи.

Что касается того, как обойти это, полностью избавившись от виджета, кажется, что iTunes Connect проверяет значение для ключа UIApplicationShortcutWidget, чтобы убедиться, что данный идентификатор пакета действительно существует и отклоняет приложение, если он этого не делает. Ключ UIApplicationShortcutWidget официально defined, так что если приложение имеет несколько виджетов, оно может выбрать, что показывать в контексте 3D Touch.

Пока Apple не отменяет эту политику, и я бы не задерживал дыхание, поскольку это что-то вроде случая с краем - ваши единственные обходные пути - иметь этот неосведомленный виджет или полностью пересмотреть опыт виджета.

Лично я бы рекомендовал полностью пересмотреть виджет, так как Apple рекомендует, чтобы виджеты были не просто «кнопками запуска», как вы предлагаете, даже если они имеют небольшой размер. За Human Interface Guidelines виджеты должны использоваться для «блестящей» информации или простых взаимодействий вне приложения. Есть ли другая полезная информация/функциональность, которую вы могли бы разместить в верхних 110 точках вместо кнопки запуска?

Кроме того, вы всегда можете указать file a bug, чтобы узнать, хочет ли Apple развлечь идею. Я подозреваю, что это связано с добавлением отдельного ключа Info.plist, возможно, логического, говорящего iOS о том, нужен ли виджет в этом контексте вообще.

+0

Спасибо за это, отличный подробный ответ. Щедрость принадлежит вам, если кому-то не удастся найти отличный способ обхода. – owlswipe

2

Это на самом деле невозможно. Краткая версия вашего виджета отображается, когда 3D Touching значок вашего приложения.

Он также дает вам возможность добавить его в центр виджета. Только там вы можете увидеть полную версию, нажав кнопку ..

+0

Спасибо за ваш отзыв (я думаю, это может быть невозможно), но я ищу обходной путь :) – owlswipe