2016-09-03 3 views
1

Я разрабатываю мобильное приложение, поддерживающее 3D Touch. Я хотел бы реализовать меню быстрого действия для некоторых элементов управления внутри приложения, например, приложение «Контакты». Я прилагаю скриншот для лучшего понимания.3D Touch Quick Actions внутри приложения iOS

Contacts 3D Touch

ответ

0

Для добавления этих быстрых действий внутри приложения вы можете реализовать Peek and Pop функциональность в вашем приложении.

Для интеграции Peek and Pop вы можете следить за этим уроком tutplus.

https://code.tutsplus.com/tutorials/ios-9-an-introduction-to-3d-touch--cms-25115

Надежда, это помогает

-1

Вы можете попробовать мою собственную библиотеку ActionsList, которая имеет тот же вид и чувствовать, как меню быстрого действия Apple.

У этого нет поддержки 3D Touch, но это может помочь вам представить тот же список действий, что и на скриншоте поставщика.

Сначала вы должны создать список.

Если вы хотите, чтобы представить его из UIButton, UIBarButtonItem из UITabBarItem есть встроенные методы для создания списка:

// element is UIButton, UIBarButtonItem or UITabBarItem 
let list = element.createActionsList() 

В противном случае вы должны использовать ActionsListModel структуру:

let list = ActionsListModel(senderView: viewThatInitiatedListPresenting, 
          sourceView: viewToPresentListFrom, 
          delegate: listDelegate) 

Тогда добавить действия в список

list.add(action: ActionsListDefaultButtonModel(localizedTitle: "Create Alarm", 
       image: UIImage(named: "Alarm clock"), 
       action: { action in 
        // You can use action's list property to control it 

        // - To dismiss 
        action.list?.dismiss() 

        // - To update action appearance 
        action.appearance.//anything 
        // Do not forget to reload actions to apply changes 
        action.list?.reloadActions() 
      })) 

После этого вы можете представить список

list.present() 

// Save list or it will be deallocated and not reachable outside of the scope it was created in 
self.list = list 

ActionsListExample app

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