2016-01-19 2 views
1

Реализация 3D-касания через Info.plist.Заказ UIApplicationShortcutItems (3D Touch)

У меня есть 2 предмета ('Item 0' и 'Item 1') и хотите, чтобы они были заказаны в этом порядке ('0' сверху, '1' второй элемент опции, когда значок приложения для 3D-касания) он сначала ставит «1». Как бы я это сделал?

спасибо.

+0

в вашем возвращенном массиве ярлыка, просто измените текущий порядок? – Surely

+0

Мои 2 ярлыка определены в файле «Info.plist» в качестве ключа: UIApplicationShortItems. Я не возвращаю массив. Вы говорите, что элементы 3D-касания могут выполняться программно? –

+1

это можно сделать программно. Я думаю, что пример в яблочном документе выполняется программно. Если вы определяете его в plist, вы также можете просто изменить текущий порядок и повторите попытку. – Surely

ответ

9

Когда заказ определяется через файл Info.plist, приоритет определяется порядком укладки в массиве (Item 0 -> Item 1 ... n). Однако при вызове пользователем порядок отображения динамически выделяется для элемента 0 в пределах кратчайшего расстояния до исходного значка, который в некоторых ситуациях инвертирует порядок списка без изменения приоритетной укладки.

Когда список отображается под значком приложения: вертикальный порядок равен 0, 1, 2, 3. Когда список отображается над значком приложения: вертикальный порядок равен 3, 2, 1, 0. В обоих случаях сценарии приоритет списка тот же, элемент с наивысшим приоритетом ближе всего к начальной точке касания (значок приложения) на экране.

Остается проверить, является ли это поведение постоянным для программно определенных объектов UIApplicationShortcutItem, или становится абсолютным без обращения к массиву при условии размещения значка приложения.

+0

Вы нашли его где-то в документации Apple? – chents

Смежные вопросы