Как создать контекстное меню типа Facebook / Slack на iOS? - PullRequest
0 голосов
/ 19 ноября 2018

Я просто просматривал контекстное меню Facebook и / или расслабился и хотел создать нечто подобное в моем приложении.

Я пробовал два метода.

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

enter image description here

Второй метод, который я попробовал, - показать новый контроллер представления поверх текущего контроллера представления и представить его как Modal presentation.

  let vc = CustomActionTableViewController(nibName: "CustomActionTableViewController", bundle: nil)
    vc.modalPresentationStyle = .overFullScreen
    self.present(vc, animated: false, completion: nil)

Это работает нормально, но метод слишком медленный, так как мне приходится работать с большим количеством уведомлений (чтобы отправить выбранный индекс в мой основной просмотр, а затем выполнить действие). Это мучительно медленно.

Может ли кто-нибудь помочь мне с тем, как я могу улучшить реализацию, чтобы я мог получить лист действий, похожий на Facebook, который является плавным и очень очень плавным

enter image description here

Ответы [ 2 ]

0 голосов
/ 13 июля 2019

Так как вы упомянули Slack, они на самом деле открыли исходный код своей реализации, PanModal.

0 голосов
/ 11 декабря 2018

Проверьте этот пример: Всплывающее окно В настоящее время я использую это в своем приложении, и оно отлично работает.

...