Поделиться через


элемент управления меню watchOS (принудительное касание) в Xamarin

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

Apple Watch с меню

Реагирование на принудительное касание

Если для Menu контроллера интерфейса реализована реализация, то при выполнении пользователем команды Force Touch отобразится меню. Если меню не было реализовано, экран кратко анимируется без другого действия.

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

Между одним и четырьмя параметрами меню можно представить.

Добавление меню

Необходимо добавить его Menu в InterfaceController раскадровку во время разработки. Если элемент управления меню перетаскивается на контроллер интерфейса, в предварительном просмотре раскадровки нет визуального указания, но меню отображается на панели структуры документа:

Изменение меню во время разработки

В элемент управления меню можно добавить до четырех элементов меню. Их можно настроить на панели свойств . Можно задать следующие атрибуты:

  • Заголовок и
  • Пользовательский образ или
  • Системный образ: Accept, Add, Block, Decline, Info, Возможно, More, Mute, Pause, Play, Repeat, Resume, Share, Shuffle, Speaker, Корзина.

Создайте егоAction, выбрав раздел "События" на панели "Свойства" и введя имя метода действия. Частичный метод будет создан в коде, который можно реализовать в классе контроллера интерфейса, как показано ниже.

partial void MenuItemTapped ()
{
    Console.WriteLine ("A menu item was tapped.");
}

Пользовательские образы

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

Вы должны добавить изображения, используемые для меню, в проект приложения "Наблюдатель" (а не в проекте расширения приложения для просмотра) для оптимальной производительности.

Изменение элементов меню

Добавление во время выполнения

Невозможно привести Menu к добавлению в контроллер интерфейса во время выполнения, хотя коллекция MenuItems может быть изменена программным способом. AddMenuItem Используйте метод, как показано ниже.

AddMenuItem (WKMenuItemIcon.Accept, "Yes", new ObjCRuntime.Selector ("tapped"));

В настоящее время API набора часов Xamarin.iOS требуется selector для AdMenuItem метода, который должен быть объявлен следующим образом:

[Export("tapped")]
void MenuItemTapped ()
{
    Console.WriteLine ("The dynamically added 'Yes' menu item was tapped.");
}

Удаление во время выполнения

Метод ClearAllMenuItems можно вызвать, чтобы удалить все элементы меню программным способом .

Элементы меню, настроенные в раскадровке, не могут быть сняты.