Копирование пользовательского интерфейса iOS 3D-уведомлений в приложении - PullRequest
0 голосов
/ 24 декабря 2018

TL; DR Я хочу скопировать пользовательский интерфейс и реализацию многофункциональных уведомлений платформы iOS * заглянуть в мое приложение, не изобретая колесо, если это возможно.

Я пытаюсь реализовать пользовательский интерфейс, практически идентичный Apple Rich Notifications на платформе iOS.Я хочу использовать его для моего собственного списка уведомлений в моем приложении.Кажется, у них есть пользовательская реализация пользовательского интерфейса Peek и Pop , которая отличается, насколько я могу судить, следующими способами:

  • После того, как вы вызвали просмотр с помощью 3DПрикоснитесь, чтобы пользовательский интерфейс не закрывался при поднятии пальца.
  • Действия предварительного просмотра отображаются немедленно, а не требуют от пользователя пролистывания.
  • Существует значок увольненияв форме круга с крестом

Я пытался выяснить, могу ли я настроить реализацию Peek и Pop в UIKit, чтобы имитировать это поведение, но это выглядит довольноненастраиваемые.

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

Я что-то упустил или мне нужно сделать, как указано в ссылке выше, и создать полностью настраиваемый контроллер представления, который копирует Rich Notifications Пользовательский интерфейс, включая кнопки предварительного просмотра кнопки?Это будет означать, что мне придется иметь дело с позиционированием и масштабированием контроллера представления.Если это вообще возможно, я бы хотел как можно больше полагаться на вещи, уже реализованные в платформе, поскольку я не хотел бы изобретать велосипед.Я использую Swift 4.

Для ясности я добавил два скриншота реализации Apple Rich Notification , чтобы показать, о чем я говорю:

enter image description here enter image description here

...